===== 环境 ===== maxos ===== 下载依赖库 ===== * 下载地址: https://github.com/a10y/hsdis-macos * 放到库路径:sudo mv Downloads/hsdis-amd64.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/ ===== java代码 ===== public class Asm { volatile int a=2; public void addOne(){ a++; } public static void main(String[] args) { new Asm().addOne(); // 最少要调用一次 } } javac Asm.java java -server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:CompileCommand=compileonly,Asm.addOne Asm 参数-Xcomp:强制第一次执行函数就编译成机器码(进而才能被反汇编)。java默认一个函数要执行10000次才被编译否则都是解释执行。这里不加这个参数就无法反汇编