一、场景:查看一个java文件的汇编指令
(1)①在compile中有个TestSynMethod1.java文件
②使用 javac TestSynMethod1.java 编译此文件生成TestSynMethod1.class文件
③运行查看汇编指令 javap -v TestSynMethod1.class
二、JVM指令手册
官方文档:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html
大神总结:https://www.cnblogs.com/lsy131479/p/11201241.html
三、javac用法
javac 是java语言编程编译器。全称java compiler。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。
四、javap
javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。
一般常用的是-v -l -c三个选项。
javap -v ***.class,不仅会输出行号、本地变量表信息、反编译汇编代码,还会输出当前类用到的常量池等信息。
javap -l 会输出行号和本地变量表信息。
javap -c 会对当前class字节码进行反编译生成汇编代码。
参考:https://www.jianshu.com/p/6a8997560b05