cmd下檢視java位元組碼

山腳下的風景發表於2016-11-21

通過cmd命令可以看到許多我們表面上看不到的東西,比如說java編譯的位元組碼。

我們知道在虛擬機器執行一段java程式碼時,首先,,編譯器把.java檔案編譯成.class檔案,這是java虛擬機器能夠識別的語言,然後被虛擬機器執行。這使得java語言能夠實現"一次編譯。到處執行"。

那麼class檔案到底是什麼樣子呢?一起跟我來看一下吧:

通過cmd命令javap -verbose xx.class即可檢視class檔案的內部資訊。

必要的時候可以通過反編譯工具如:gui等工具降class檔案反編譯為我們可以理解的java檔案。

那麼這些class資訊有什麼用呢?

通過使用這些資訊我麼可以與class檔案被執行的資訊來觀察,我們的java程式是如何被載入到虛擬機器中,還可以看到執行順序,在虛擬機器中的那個部分被執行的等等等,有助於加深我們對程式的理解。



相關文章