什么是字節碼?采用字節碼的好處是什么?
java中的編輯器和解釋器:
java中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬機的機器。這台虛擬的機器在
任何平台上都提供給編譯程序一個的共同的接口。
編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然后由解釋器來講虛擬機代碼轉換為
特定系統的機器碼執行。在java中,這種供虛擬機理解的代碼叫做字節碼(即擴展名為.class的文件),
它不面向任何特定的處理器,只面向虛擬機。
每一種平台的解釋器是不同的,但是實現虛擬機是相同的,java源程序通過編譯器編譯后變成
字節碼,字節碼由虛擬機解釋執行,虛擬機將每一條要執行的字節碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,
然后在特定的機器上運行。這也就是解釋了java的編譯與解釋並存的特點。
java源代碼---》編譯器---》jvm可執行的java字節碼---》jvm---》jvm中解釋器---》機器可執行的
二級制機器碼---》程序運行。
采用字節碼的好處:
java語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同事又保留了解釋型語言可
可移植的特點,所以java程序運行時比較高效,而且,由於字節碼並不轉對一種特定的機器,因此,
java程序無需重新編譯即可在多種不同的計算機上個運行。