首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

Java反組譯工具 javap 使用詳解

     編輯:J2EE

`javap` 是 JDK 內建的類別檔案反組譯器,可輸出位元碼、常數池、方法簽章等資訊,是分析編譯結果、排查泛型擦除、驗證優化效果的利器。

常用選項

選項說明
-c輸出每個方法的位元碼指令
-v (verbose)輸出完整資訊:常數池、行號表、區域變量表、簽章等
-p (private)包含私有成員
-s輸出內部類型簽章
-l輸出行號與區域變量表
-constants輸出 static final 常數值
-sysinfo顯示系統資訊(路徑、版本)

實戰範例

# 查看位元碼
javap -c com.example.Demo

# 完整分析(含常數池、簽章、行號)
javap -v -p com.example.Demo

# 僅看方法簽章
javap -s com.example.Demo

輸出關鍵欄位解讀

  • `Code` 屬性:`stack`(操作數棧深度)、`locals`(區域變量槽數)、`code`(位元碼陣列)
  • `LineNumberTable`:位元碼偏移對應原始碼行號
  • `LocalVariableTable`:區域變量槽索引、名稱、描述符、作用範圍
  • `Signature`:泛型簽章(未擦除)

配合 `javac -parameters` 可保留正式參數名稱,便於反射與除錯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved