有人知道如何将 .class 内容加载到内存中的人类可读格式吗?我应该编写程序,该程序将使用此文件中的信息进行操作
问问题
156 次
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 回答