JDK自带反编译工具javap

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK自带反编译工具javap相关的知识,希望对你有一定的参考价值。

在JDK的bin文件夹下,有许多自带工具: javap就是其中的一个,对应为 javap.exe

javap可反编译查看Java编译器编译生成的字节码文件,

语法:

  javap [ options ] class  

 

options:
  -help  帮助
  -l  输出行和变量的表
  -public  只输出public方法和域
  -protected  只输出public和protected类和成员
  -package  只输出包,public和protected类和成员,这是默认的
  -p -private  输出所有类和成员
  -s  输出内部类型签名
  -c  输出分解后的代码,例如,类中每一个方法内,包含java字节码的指令,
  -verbose  输出栈大小,方法参数的个数
  -constants  输出静态final常量
 
例如:
 
先进入到class文件的目录,再执行:javap -verbose Helloworld.class
技术分享
 从中可以看到jdk版本, major version: 51
  jdk版本和版本号的对照表
              十六进制    十进制
  JDK1.5      31          49
  JDK1.6      32          50
  JDK1.7      33          51
  JDK1.8      34          52
--------------------------------------------------------------------
javap -c Helloworld > F://Helloworld.txt
可将反编译结果输出到txt文件中
--------------------------------------------------------------------





以上是关于JDK自带反编译工具javap的主要内容,如果未能解决你的问题,请参考以下文章

Java命令学习系列——javap

Java命令学习系列:Javap(转)

idea中使用External Tools实现javap工具反编译

java命令:javac/java/javap

Javap与JVM指令

javap命令详解