聊聊JVM(十)Mac下hsdis和jitwatch下载和使用
来源:互联网 发布:淘宝网羊毛背心 编辑:程序博客网 时间:2024/05/29 03:50
网上已经有了详细的hsdis和jitwatch的教材,比如这篇利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码
hsdis能够查看Java生成的汇编代码,具体的可以查看上面这篇文章。这里提供一下Mac下的hsdis-amd64.dylib和hsdis-amd64.so文件的下载地址http://pan.baidu.com/s/1i3HxFDF
免得还要重新去编译。前者是Mac 64位机器下的,后者是Linux 64位机器下的。
下载下来hsdis之后,最简单让java命令加载它的方法是把它放在一个目录下面,然后export一下这个目录就行,比如在.bashrc下面
export LD_LIBRARY_PATH=~/Documents/hsdis/
这样就可以使用hsdis来查看JIT生成的汇编代码了。可以用下面的命令来查看hsdis是否工作
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -version
看到下面这个结果证明hsdis已经配置正确了
下面来试一下用hsdis来生成一个类的汇编码。
java -server指令指定了JIT使用C2编译器来优化,-Xcomp选项指定了JVM以编译模式运行,否则默认是Mix模式,只有热点代码才会被JIT编译优化。很多人说写的类没有被JIT编译,我的经验是这个类如果有main方法就会生成汇编码。-XX:+PrintAssembly 可以打印汇编码。执行下面命令可以让JIT编译并把结果生成到指定的log文件中
java -server -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+PrintAssembly -XX:+LogCompilation -XX:LogFile=jit.log test.TestMain
可以用jitwatch工具来查看刚生成的日志文件。 jitwatch可以从http://pan.baidu.com/s/1i3HxFDF 下载。我放了一个jitwatch.sh在里面,下载下来之后改一下文件中的路径就可以直接运行了。
关于jitwatch的使用方法可以看这篇利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码
用jitwatch可以看到哪些方法被JIT编译了
在调用一个方法后,会设置OopMap状态,这是一个safepoint
在方法返回前,会插入safepoint polling page的代码 test %eax, 0xxxxxxx,以便让线程进入到这个safepoint的时候可以被阻塞
hsdis和jitwatch是学习JVM的利器,下载下来用一用吧
- 聊聊JVM(十)Mac下hsdis和jitwatch下载和使用
- 利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码
- 利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码
- Mac下Ecplise的下载配置和使用
- Mac 使用SCP 上传和下载文件
- 在Linux下安装JITwatch
- Mac下使用Aria2下载教程----迅雷和百度盘终极解决方案
- Mac 下使用 Aria2 实现迅雷离线和百度云下载
- 从jvm虚拟机聊聊java的方法重载和重写
- JVM执行篇:使用HSDIS插件分析JVM代码执行细节
- JVM执行篇:使用HSDIS插件分析JVM代码执行细节
- JVM执行篇:使用HSDIS插件分析JVM代码执行细节--转
- JVM执行篇:使用HSDIS插件分析JVM代码执行细节
- JVM执行篇:使用HSDIS插件分析JVM代码执行细节
- JVM执行篇:使用HSDIS插件分析JVM代码执行细节--转
- Java多线程--JVM执行之使用HSDIS插件分析JVM代码执行细节
- mac下使用Aria2下载
- Mac下git和github使用
- javascript原型prototype
- 对CSS中的Position、Float属性的一些深入探讨
- iOS开发编码规范与审核时的注意事项
- 手机网页制作的认识(有关meta标签)
- 管道的力量——记一次脚本的实现
- 聊聊JVM(十)Mac下hsdis和jitwatch下载和使用
- 黑马程序员 -- Java基础学习(3)
- jenkins配置权限不对导致无法登陆或者空白页面解决办法
- 对session和cookie的一些理解
- LINQ实战读书笔记 LINQ TO SQL(一)
- WEB架构师成长必经之路
- Javase基础学习笔记之集合(3)
- html img图片等比例缩放
- CXF spring 整合