`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配合 `javac -parameters` 可保留正式參數名稱,便於反射與除錯。