什麼是字節碼?採用字節碼的最大好處是什麼?

先看下 java 中的編譯器和解釋器:
 
Java 中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬的機器。這臺虛擬的機器在任何平臺上都提供給編譯程序一個的共同的接口。
編譯程序只須要面向虛擬機,生成虛擬機可以理解的代碼,而後由解釋器來將虛擬機代碼轉換爲特定系統的機器碼執行。在 Java 中,這種供虛擬機理解的代碼叫作字節碼(即擴展名爲 .class 的文件),它不面向任何特定的處理器,只面向虛擬機。
每一種平臺的解釋器是不一樣的,可是實現的虛擬機是相同的。Java 源程序通過編譯器編譯後變成字節碼,字節碼由虛擬機解釋執行,虛擬機將每一條要執行的字節碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,而後在特定的機器上運行。這也就是解釋了 Java 的編譯與解釋並存的特色。
 

採用字節碼的好處:
 
Java 語言經過字節碼的方式,在必定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可移植的特色。因此 Java 程序運行時比較高效,並且,因爲字節碼並不專對一種特定的機器,所以,Java程序無須從新編譯即可在多種不一樣的計算機上運行。
相關文章
相關標籤/搜索