这实际上不是关于反编译,我不想看到源代码,而是希望看到像invoke some/package/method()V
这样的JVM指令。
是否有用于此目的的工具?
答案 0 :(得分:2)
我正在使用Eclipse http://andrei.gmxhome.de/bytecode/index.html的Eclipse + Bytecode Outline插件。这就是字节码的样子
public static main([Ljava/lang/String;)V throws java/io/IOException
L0
LINENUMBER 11 L0
INVOKESTATIC test/Test.x ()V
L1
LINENUMBER 12 L1
RETURN
...
答案 1 :(得分:2)
此工具允许您查看操作码,属性并对其进行编辑。它非常有用,但不适用于Java 8 lambdas。
答案 2 :(得分:2)
假设您有一个名为MyClass.class的类文件
通过使用jdk本身提供的程序,在java和javac所在的bin目录中,您可以很容易地看到JVM指令构成了您的类文件。
javap -c MyClass.class
上述命令将为您提供所需的内容。