当前位置: 代码网 > it编程>编程语言>Java > Java汇编源码如何查看环境搭建

Java汇编源码如何查看环境搭建

2025年01月09日 Java 我要评论
一、简介jvm的学习很多时候得看着字节码和汇编代码才好理解,而作为java程序员来说,其实更希望在开发环境中能查看汇编代码,这样其实更有助于我们平时的代码调优和jvm的学习。那么我们应该如何搭建呢?跟

一、简介

jvm的学习很多时候得看着字节码和汇编代码才好理解,而作为java程序员来说,其实更希望在开发环境中能查看汇编代码,这样其实更有助于我们平时的代码调优和jvm的学习。那么我们应该如何搭建呢?跟着我一起动手来搭建下吧。

二、在idea开发环境中搭建汇编环境

2.1 在idea中搭建字节码查看环境

我们都知道,java 源文件(.java格式)要运行,需要编译成java字节码文件(.class格式),在我们做源代码原理分析时,可能需要查看字节码文件,我们一般使用过javap -v xxx.class 命令进行查看的,这个javap 工具是jdk开发环境提供的一款工具,需要我们安装好jdk和配置好jdk的环境变量;有时候我们可能希望在idea开发环境中直接打印控制台查看,那么该如何实现配置呢?接下来我们实现下。

2.1.1 搭建步骤

这里以主流的开发工具intellij idea 做例子:

2.1.1.1 第一步

2.1.1.2 第二步

2.1.1.3 第三步

2.1.1.4 第四步

2.1.2 验证

在需要查看字节码的类中右键,打开external tools,选择我们刚才新建的扩展工具javap -v,执行

好了,在idea中搭建字节码环境就完成了,接下来我们看下,在idea中如何搭建汇编环境。

2.2 在idea开发环境中搭建汇编代码查看环境

要想查看汇编代码,我们可以通过一款工具,叫做hsdis,它是一个sun官方推荐的hotspot虚拟机jit编译代码的反汇编插件。

2.2.1 下载hsdis插件

官网地址:

hsdis hotspot disassembly plugin downloads (chriswhocodes.com)

因为我们是windows环境,且系统版本是64位的,所以就下载hsdis-amd64.dll。

2.2.2 配置hsdis插件

将hsdis-amd64.dll安装到 %java_home\jre\bin\server 目录下。

2.2.3 验证hsdis插件是否安装成功

在cmd窗口中执行如下指令:

java -xx:+unlockdiagnosticvmoptions -xx:+printassembly -version

出现如上汇编指令,则算安装成功。

2.2.4 在idea中配置

在idea开发环境中,我们那个类需要打印汇编代码,就在哪个类的运行配置中配置打印信息,如下:

配置如下指令:

-server -xx:+unlockdiagnosticvmoptions -xx:+printassembly -xx:+logcompilation -xx:logfile=d:\software_development\data\log\%t-hotspot.log

然后直接点击运行测试用例,我们就会在控制台看到汇编代码信息:

在我们配置的日志路径下,也会生成有相关的汇编代码信息:

好了,我们在idea中打印汇编代码的配置就做好了。

三、jitwatch 环境搭建

jitwatch 是 hotspot jit 编译器的日志分析器和可视化程序,它能帮助我们更加详细的查阅jvm汇编代码和jit编译详情。下面我们来介绍下该如何安装和使用它。

3.1 jitwatch 下载

官网:

github - adoptopenjdk/jitwatch: log analyser / visualiser for java hotspot jit compiler. inspect inlining decisions, hot methods, bytecode, and assembly. view results in the javafx user interface.

3.2 运行

java -jar jitwatch-ui-1.4.9-shaded-win-x64.jar

3.3 使用

3.3.1 导入日志

3.3.2 查看汇编

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com