我经常卡在没有源的Java类文件中,并且试图理解我手头的问题。
请注意,反编译器是有用的,但在所有情况下都不足够…
我有两个问题
与其直接查看Java字节码(需要熟悉Java虚拟机及其操作),不如尝试使用Java反编译实用程序。反编译器将尝试java从指定class文件创建源文件。
java
class
该怎么做我“编译” Java类文件?是一个相关的问题,它将有助于找出如何反编译Java class文件。
也就是说,可以使用javapJDK中的命令来反汇编Java class文件。的输出javap将是class文件中包含的Java字节码。但是请注意,字节码根本不类似于Java源代码。
javap
学习Java字节码和Java虚拟机本身的确切资源是《 Java虚拟机规范,第二版》。特别是,第6章:Java虚拟机指令集具有所有字节码指令的索引。