值得收藏!教你如何在IDEA中快速查看Java字節碼

一、javap的參數

  -help  –help  -?        輸出此用法消息
  -version                 版本信息
  -v  -verbose             輸出附加信息
  -l                       輸出行號和本地變量表
  -public                  僅顯示公共類和成員
  -protected               顯示受保護的/公共類和成員
  -package                 顯示程序包/受保護的/公共類和成員 (默認)
  -p  -private             顯示所有類和成員
  -c                       對代碼進行反匯編
  -s                       輸出內部類型簽名
  -sysinfo                 顯示正在處理的類的系統信息 (路徑, 大小, 日期, MD5 散列)
  -constants               顯示靜態最終常量
  -classpath <path>        指定查找用戶類文件的位置
  -bootclasspath <path>    覆蓋引導類文件的位置

因為我們知道java文件進入虛擬機的一個大致過程是:

A.java文件,經過編譯後,生成.class文件,這個.class文件是個二進制文件,你沒法看得懂,隻有虛擬機能看得明白,因為虛擬機有一個字節碼表,而作為程序員是看不懂這些16進制的文件的,你這可以背下來???

因為我這裡用到的是Notepad++,需要安裝一個HEX-Editor插件;下面的東西我隻知道一個ca fe ba be…..

所以class文件就長這個樣子,那麼這些什麼00 07,這些16進制的表示,對應代表著什麼呢?這個以後再說,總之你目前看不懂就是瞭

那麼java提供瞭可以解析class文件稱為字節碼文件的工具,把這個class文件,翻譯成字節碼文件,告訴虛擬機你要去做什麼操作。

所以javap的命令,就是這樣來的。java parser!!

二、配置IDEA

然後+號,這三行照寫下

  • $JDKPath$\bin\javap.exe
  • -verbose -p -c $FileClass$
  • $OutputPath$

然後OK點擊。

這樣就能看到編譯的細節瞭。

到此這篇關於值得收藏!教你如何在IDEA中快速查看Java字節碼的文章就介紹到這瞭,更多相關IDEA中查看Java字節碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: