1. 程式人生 > 其它 >.java .class 以及機器碼 關係

.java .class 以及機器碼 關係

java通過java編譯器到class再通過jvm直譯器到機器碼(jvm開始操作指令集)_淺釋的思旭的部落格-CSDN部落格

我們在編譯器(IDE)中編寫.java檔案
編譯器自動將 .java檔案編譯成 .class檔案 (位元組碼檔案)
jvm自動將 .class檔案解釋成機器碼 然後jvm操作指令集執行程式碼

java的編譯器分平臺 但是編譯成的位元組碼檔案不分平臺 只看你有沒有我要的虛擬機器 有的話就能執行
所以java具備一次編譯,到處執行的特點

.class位元組碼檔案是Java獨有的嗎? (csdn.net)
java跨平臺原理,其他語言為什麼不可以_百度知道 (baidu.com)

.class是java提出的 用於jvm執行的檔案
其他語言也可以編譯成.class 但是一般沒必要
例如c/c++都是直接針對特點的平臺編譯成對應的機器碼檔案 這樣效率更高

.java編譯成.class 與 .class反編譯成.java_小爺欣欣-CSDN部落格
作為程式設計程式碼和機器碼的中間檔案——位元組碼檔案 具備可讀性,也可以反編譯回 .java

對於 .java還有 .class 都具備可讀性 可以在IDE中檢視

) Notepad++檢視、編輯二進位制檔案——安裝附加元件HexEditor實現_Eric_Blog_CSDN的部落格-CSDN部落格_notepad開啟二進位制檔案

但是對於notepad++ 原生版本只能檢視 .java 無法檢視 .class
如果想檢視 需要安裝名為HexEditor的外掛