0

有人知道如何将 .class 内容加载到内存中的人类可读格式吗?我应该编写程序,该程序将使用此文件中的信息进行操作

4

2 回答 2

2

如果您只是在寻找方法名称和参数、字段、扩展类型等的声明,那么您应该使用 Java 反射和自省功能。

如果您想访问已编译方法的字节码,请查看asm或 Apache bcel 库。

于 2013-10-25T21:48:57.737 回答
1

您可以使用javap工具对 .class 文件进行反汇编。

javap MyClass

假设我们有一个简单的类:

public class Test {
    public void test() {...}
}

从命令行调用javap Test将打印:

public class Test {
  public Test();
  public void test();
}

然后您可以将此信息存储在数据结构中,如果您想动态构造对象/调用方法,您可以使用Reflection

于 2013-10-25T21:46:43.233 回答