Java 查看位元組碼
本篇筆記下怎麼在 Windows 平台下查看 Java 虛擬機執行的位元組碼。
確認環境配置
透過下述指令獲取 javap 是否正常運行
1 |
for %i in (javap.exe) do @echo %~$PATH:i |
如果找不到路徑請確認配置完成,我當時是忘記配置 Path 路徑中 JAVA_HOME的引用,確切配置如下
編輯系統邊量中的 PATH 如下圖,記得新增 %JAVA_HOME%/bin 否則會無法使用 javap 但是 java、javac 都可以用(目前不知道為什麼...)
如果是第一次設置可以使用下述指令
1 2 |
for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i set PATH=%PATH%;%JAVA_HOME%\bin |
使用 javap 查看
到項目編譯完成後的目錄底下輸入下述指令
1 |
javap -verbose XXXX.class |
使用 IntelliJ 查看
使用 jclasslib 套件
打開IDEA → setting → plugins → Browse Repositories ,搜尋 jclasslib → 選擇安裝好後重啟IDEA即可
如附圖選擇 Show Bytecode With Jclasslib 即可
右邊的窗格可以查看如附圖
使用 ASM Bytecode Outline 套件
打開IDEA → setting → plugins → Browse Repositories ,搜尋 ASM Bytecode Outline → 選擇安裝好後重啟IDEA即可
自己配置 ShowByteCode
打開IDEA → file→ settings → Tools → External Tools 點選+號 如附圖
1 2 3 |
$JDKPath$/bin/javap -verbose $FileClass$ $OutputPath$ |
相逢就是有緣,留下足跡吧!