博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查看Java的汇编指令
阅读量:6846 次
发布时间:2019-06-26

本文共 638 字,大约阅读时间需要 2 分钟。

通过javap 命令,可以将字节码文件反编译。如通过下面的命令:

javap -c Xxxx.class

而有时候想看某些JDK底层实现,发现反编译得到的代码并没有什么帮助,因此本文介绍如何查看Java的汇编指令,查看Java代码最真实的运行细节。

Java本身提供这个支持,但需要引入而外的包(hsdis-amd64.dylib)。

Mac下:

下载下来后,将其放置到jre lib目录下即可。

查看Java的汇编指令

1、可以使用命令

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly Main (Main是class文件)

2、在IDEA配置VM options,打印汇编指令,如下图。

-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly

img_4281a02c8ec3cf068abd174d7432f3b9.png

这种方式,在运行程序时,直接在控制台打印汇编指令。

img_4121492abca2c5e859ecc91e889ab95e.png

如果遇到:

Java HotSpot(TM) 64-Bit Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output Could not load hsdis-amd64.dylib; library  not loadable; PrintAssembly is disabled

下载上面的库文件放到jre/lib下即可。

转载地址:http://xilul.baihongyu.com/

你可能感兴趣的文章
D3D中剔除模式
查看>>
iOS开发系列--App扩展开发
查看>>
mysql 查看用户的权限
查看>>
JavaScript 函数节流和函数去抖应用场景辨析
查看>>
log4j的参数配置(转)
查看>>
[C++][基础]1_变量、常量和基本类型
查看>>
Android Service与Runnable整合并用
查看>>
Php综合手册
查看>>
[轉]javascript 的 location 各種用法
查看>>
测地膨胀和膨胀重建—lhMorpRDilate
查看>>
PHP开发Android应用程序(转)
查看>>
Knockout.js随手记(8)
查看>>
mysql 安装过程中的错误:my-template.ini could not be processed and written to XXX\my.ini.Error code-1...
查看>>
计算A/3,不用除法
查看>>
ERStudio的使用
查看>>
git 本地与服务器的同步
查看>>
css鼠标移动到文字上怎样变化背景颜色
查看>>
HBase 实战(1)--HBase的数据导入方式
查看>>
浅谈WEB页面提速(前端向)
查看>>
05 语句处理
查看>>