查看Java运行的汇编指令

openjdk的编译已经结束,但是坑还是很多,踩了那么多坑,我个人觉得,其实对于openjdk这种级别的项目,要么不开源,要么就认真对待,这两天的踩坑之路让我觉得openjdk的开发人员其实并没有重视所谓的开源,语焉不详的文档,牛头不对马嘴的下载链接,一波跟着一波的错误,甚至于当我们好不容易把openjdk编译成功,用编译器打开openjdk,紧随而来的就是几千行的报错,虽然都是路径问题,不影响我们查看源码,但是这种体验给人的感觉实在糟糕

过一段时间我可能会重新编译一个jdk7的版本,然后参照陈涛大佬的hotspot进行进一步的openjdk学习,毕竟openjdk8的改动实在有些太大,书中的很多例子根本无法实现,我决定先把虚拟机的优先级调低一点,毕竟这玩意只能算是锦上添花,太执着于这个东西反而得不偿失,我应该会去先把深入Java虚拟机最后一点看完,然后把spring源码分析一遍,现在来说,openjdk就暂时先放下了,不过这都是后话了,今天的重点是查看Java运行时的汇编指令

当时看深入Java虚拟机的时候,周志明大佬说目前Windows无法查看汇编指令,因为没人编译对应的插件,而Linux版的插件可以手动编译,我当时觉得过了这么久,Windows应该是可以查看了,但是搜寻一番无果之后就放弃了,没想到今天偶然看到了Windows版本的插件,参考该博客,两个版本,一个x64一个x86,大家根据警告的提示下载即可,比如我就是提示需要amd64版本的hsdis
在这里插入图片描述

//下载地址
http://vorboss.dl.sourceforge.net/project/fcml/fcml-1.1.1/hsdis-1.1.1-win32-amd64.zip
http://vorboss.dl.sourceforge.net/project/fcml/fcml-1.1.1/hsdis-1.1.1-win32-i386.zip
//添加对应的jvm参数
-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly

在这里插入图片描述
经过我的测试,实际上你把最终提取的hsdis-xx.dll放在jdk下的bin目录里,也是可以的
在这里插入图片描述
查看Java运行的汇编指令_第1张图片

你可能感兴趣的:(查看Java运行的汇编指令)