1.解析字节码的作用

通过反编译生成的字节码文件,我们可以深入了解Java代码的工作机制
javap 是jdk自带的反编译工具, 他的作用就是根据class字节码文件,反解析出当前类对应的code区(字节码指令)局部变量表,异常表,和代码行偏移量映射表,常量池等信息

2.javap的用法

image.png
直接在命令行中输入javap或者javap —help可以看javap下面的选项

  1. - public 仅显示公共类
  2. - protected 显示受保护的公共类和成员
  3. - p - private 显示所有的类
  4. - package 显示程序包/受保护的/公共类和成员(默认)
  5. - sysinfo 显示正在处理的类的系统信息
  6. - constants 显示静态最终常量
  7. - s 输出内部类型签名
  8. - l 输出行号和本地变量表
  9. - c 对代码进行反编译
  10. - v 输出附加信息(包括行号, 本地变量表,反编译等详细信息)
  1. # 可以使用
  2. $ javap -v TestMain.class # 进行反编译

image.png