javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码。
一般情况下,很少有人使用javap对class文件进行反编译,因为有很多成熟的反编译工具可以使用,比如jad。但是,javap还可以查看java编译器为我们生成的字节码。通过它,可以对照源代码和字节码,从而了解很多编译器内部的工作。
- -help 帮助
- -l 输出行和变量的表
- -public 只输出public方法和域
- -protected 只输出public和protected类和成员
- -package 只输出包,public和protected类和成员,这是默认的
- -p -private 输出所有类和成员
- -s 输出内部类型签名
- -c 输出分解后的代码,例如,类中每一个方法内,包含java字节码的指令,
- -verbose 输出栈大小,方法参数的个数
- -constants 输出静态final常量