亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java匯編源碼如何查看環(huán)境搭建

 更新時間:2025年01月08日 14:26:59   作者:夜夜流光相皎潔_小寧  
這篇文章主要介紹了如何在IntelliJ IDEA開發(fā)環(huán)境中搭建字節(jié)碼和匯編環(huán)境,以便更好地進行代碼調優(yōu)和JVM學習,首先,介紹了如何配置IntelliJ IDEA以方便查看Java字節(jié)碼文件,接著,詳細說明了如何下載和配置HSDIS插件,以便在IDEA中查看Java方法的匯編代碼

一、簡介

JVM的學習很多時候得看著字節(jié)碼和匯編代碼才好理解,而作為Java程序員來說,其實更希望在開發(fā)環(huán)境中能查看匯編代碼,這樣其實更有助于我們平時的代碼調優(yōu)和JVM的學習。那么我們應該如何搭建呢?跟著我一起動手來搭建下吧。

二、在IDEA開發(fā)環(huán)境中搭建匯編環(huán)境

2.1 在IDEA中搭建字節(jié)碼查看環(huán)境

我們都知道,Java 源文件(.java格式)要運行,需要編譯成Java字節(jié)碼文件(.class格式),在我們做源代碼原理分析時,可能需要查看字節(jié)碼文件,我們一般使用過javap -v xxx.class 命令進行查看的,這個javap 工具是jdk開發(fā)環(huán)境提供的一款工具,需要我們安裝好jdk和配置好jdk的環(huán)境變量;有時候我們可能希望在IDEA開發(fā)環(huán)境中直接打印控制臺查看,那么該如何實現(xiàn)配置呢?接下來我們實現(xiàn)下。

2.1.1 搭建步驟

這里以主流的開發(fā)工具IntelliJ IDEA 做例子:

2.1.1.1 第一步

2.1.1.2 第二步

2.1.1.3 第三步

2.1.1.4 第四步

2.1.2 驗證

在需要查看字節(jié)碼的類中右鍵,打開External Tools,選擇我們剛才新建的擴展工具javap -v,執(zhí)行

好了,在IDEA中搭建字節(jié)碼環(huán)境就完成了,接下來我們看下,在IDEA中如何搭建匯編環(huán)境。

2.2 在IDEA開發(fā)環(huán)境中搭建匯編代碼查看環(huán)境

要想查看匯編代碼,我們可以通過一款工具,叫做HSDIS,它是一個Sun官方推薦的HotSpot虛擬機JIT編譯代碼的反匯編插件。

2.2.1 下載HSDIS插件

官網(wǎng)地址:

hsdis HotSpot Disassembly Plugin Downloads (chriswhocodes.com)

因為我們是windows環(huán)境,且系統(tǒng)版本是64位的,所以就下載hsdis-amd64.dll。

2.2.2 配置HSDIS插件

將hsdis-amd64.dll安裝到 %JAVA_HOME\jre\bin\server 目錄下。

2.2.3 驗證HSDIS插件是否安裝成功

在CMD窗口中執(zhí)行如下指令:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -version

出現(xiàn)如上匯編指令,則算安裝成功。

2.2.4 在IDEA中配置

在IDEA開發(fā)環(huán)境中,我們那個類需要打印匯編代碼,就在哪個類的運行配置中配置打印信息,如下:

配置如下指令:

-server -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:+LogCompilation -XX:LogFile=D:\software_development\data\log\%t-hotspot.log

然后直接點擊運行測試用例,我們就會在控制臺看到匯編代碼信息:

在我們配置的日志路徑下,也會生成有相關的匯編代碼信息:

好了,我們在IDEA中打印匯編代碼的配置就做好了。

三、JITWatch 環(huán)境搭建

JITWatch 是 HotSpot JIT 編譯器的日志分析器和可視化程序,它能幫助我們更加詳細的查閱JVM匯編代碼和JIT編譯詳情。下面我們來介紹下該如何安裝和使用它。

3.1 JITWatch 下載

官網(wǎng):

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 查看匯編

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java爬取并下載酷狗TOP500歌曲的方法

    java爬取并下載酷狗TOP500歌曲的方法

    這篇文章主要介紹了java爬取并下載酷狗TOP500歌曲的方法,非常具有實用價值,需要的朋友可以參考下
    2019-01-01
  • Java super關鍵字調用父類過程解析

    Java super關鍵字調用父類過程解析

    這篇文章主要介紹了Java super關鍵字調用父類過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java利用跳躍表解決雙重隊列問題詳解

    Java利用跳躍表解決雙重隊列問題詳解

    這篇文章主要為大家詳細介紹了Java如何利用跳躍表來解決雙重隊列的問題。本文通過一個簡單的例題進行了講解,感興趣的小伙伴可以了解一下
    2022-12-12
  • SpringBoot中web模版數(shù)據(jù)渲染展示的案例詳解

    SpringBoot中web模版數(shù)據(jù)渲染展示的案例詳解

    憑借 Spring Framework 的模塊、與你最喜歡的工具的大量集成以及插入你自己的功能的能力,Thymeleaf 是現(xiàn)代 HTML5 JVM Web 開發(fā)的理想選擇——盡管它還有更多功能,本文重點給大家介紹SpringBoot中web模版數(shù)據(jù)渲染展示,需要的朋友可以參考下
    2022-01-01
  • @Value設置默認值后,獲取不到配置值的原因分析

    @Value設置默認值后,獲取不到配置值的原因分析

    這篇文章主要介紹了@Value設置默認值后,獲取不到配置值的原因,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • springboot整合jcasbin權限管理

    springboot整合jcasbin權限管理

    jcasbin的權限控制非常簡單,本文就來介紹一下springboot整合jcasbin權限管理,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Spring?Cloud?Gateway?2.x跨域時出現(xiàn)重復Origin的BUG問題

    Spring?Cloud?Gateway?2.x跨域時出現(xiàn)重復Origin的BUG問題

    這篇文章主要介紹了Spring?Cloud?Gateway?2.x跨域時出現(xiàn)重復Origin的BUG問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java利用轉義字符過濾HTML中的標簽

    Java利用轉義字符過濾HTML中的標簽

    通過本文介紹的Java方法,我們可以輕松利用轉義字符來過濾HTML文本中的標簽,確保輸出內容的純文本展示,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 探討java深拷貝

    探討java深拷貝

    這篇文章主要針對java深拷貝的相關內容進行解析,幫助大家學習理解java深拷貝,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 最詳細的Java循環(huán)結構解析之for循環(huán)教程(適合小白)

    最詳細的Java循環(huán)結構解析之for循環(huán)教程(適合小白)

    :循環(huán)結構是指在程序中需要反復執(zhí)行某個功能而設置的一種程序結構,下面這篇文章主要給大家介紹了關于Java循環(huán)結構解析之for循環(huán)的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09

最新評論