参考资料:
https://blog.csdn.net/qq1169091731/article/details/83067134
https://blog.csdn.net/jl19861101/article/details/87888804
https://nitschinger.at/Printing-JVM-generated-Assembler-on-Mac-OS-X/
https://blog.csdn.net/l294265421/article/details/46697893
安装Hsdis
1. 下载配置 Hsdis
git clone https://github.com/liuzhengyang/hsdis
cd hsdis
tar -zxvf binutils-2.26.tar.gz
make BINUTILS=binutils-2.26 ARCH=amd64
2、复制 hsdis-amd64.so 文件到 {java_home}/jre/lib/amd64/server
sudo cp build/linux-amd64/hsdis-amd64.so /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
3、命令验证是否配置成功
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -version
有如下输出则成功
4、使用 Hsdis 执行代码,输出反汇编内容
javac A.java
java -server -XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+PrintAssembly -XX:+LogCompilation -XX:LogFile=live.log A
# A是java文件类名, live.log 是输出的 log 文件
安装jitWatch(Mac)
1、下载
git clone https://github.com/AdoptOpenJDK/jitwatch
2、从刚安装的hsdis中,找到如下文件
hsdis-amd64.dylib
mac版共享( https://pan.baidu.com/s/1107ubEXdW3BSNjy3DB1n5w )
3、设置环境变量,并把文件放进去(在当前用户的根目录下创建文件夹 PathToFile)
export LD_LIBRARY_PATH=~/PathToFile/
4、进入到jitWatch
5、安装(前提是你已经安装了maven)
mvn clean install -DskipTests=true
6、运行
./launchUI.sh