1.解析字节码的作用
通过反编译生成的字节码文件,我们可以深入了解Java代码的工作机制
javap 是jdk自带的反编译工具, 他的作用就是根据class字节码文件,反解析出当前类对应的code区(字节码指令)局部变量表,异常表,和代码行偏移量映射表,常量池等信息
2.javap的用法
直接在命令行中输入javap或者javap —help可以看javap下面的选项
- public 仅显示公共类
- protected 显示受保护的公共类和成员
- p - private 显示所有的类
- package 显示程序包/受保护的/公共类和成员(默认)
- sysinfo 显示正在处理的类的系统信息
- constants 显示静态最终常量
- s 输出内部类型签名
- l 输出行号和本地变量表
- c 对代码进行反编译
- v 输出附加信息(包括行号, 本地变量表,反编译等详细信息)
# 可以使用
$ javap -v TestMain.class # 进行反编译