转载请注明原文地址:http://www.javashuo.com/article/p-mjkogmjk-v.htmlhtml
一般用于第三方JAR包的逆向工程。java
通常咱们拿到的jar包都是通过编译后的 .class文件,可是咱们在开发过程当中对jar包的调用有疑问,或者像深刻探索原理时,根本没法查看源码,这对咱们来讲就比较沮丧了。性能优化
这个时候,咱们能够经过一些反编译工具,将 .class 文件逆向成 java源代码,这样就能够看到它的真面目啦~工具
java反编译咱们通常使用jad工具,或者网上提供的一些可用的第三方工具,不少的,找找就有了。性能
反汇编与反编译是两码事,虽然原材料都是 .class文件。优化
上面提到的反编译是向上的,即根据编译后的结果,反向获得编译前的源码。命令行
而反汇编则是根据编译后的结果,倒推源码编译的过程,这里就能够看出代码逻辑真实编译、执行过程的每一步,对于性能优化、问题追溯等具备十分强大的帮助。htm
Java反汇编使用jdk自带的工具——javap。blog
安装了Java开发环境的电脑上,能够经过命令行 输入 :javap -c XXX.class 文件来查看该class文件的编译过程。开发