Java面試題(十四):什么是字節碼?采用字節碼的好處是什么?


1. 什么是字節碼?采用字節碼的好處是什么?

java中的編譯器和解釋器:

Java中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬的機器。這台虛擬的機器在任何平台
上都提供給編譯程序一個的共同的接口。
編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然后由解釋器來將虛擬機代碼轉換為特定系統的機器碼
執行。在Java中,這種供虛擬機理解的代碼叫做字節碼(即擴展名為.class的文件),它不面向任何特定的處理
器,只面向虛擬機。
每一種平台的解釋器是不同的,但是實現的虛擬機是相同的。Java源程序經過編譯器編譯后變成字節碼,字節碼由
虛擬機解釋執行,虛擬機將每一條要執行的字節碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然后在特
定的機器上運行。這也就是解釋了Java的編譯與解釋並存的特點。
Java源代碼…>編譯器->jvm可執行Java字節碼(即虛擬指令)->j/m--->jvm中解釋器-…>機器可執行的二進
制機器碼--->程序運行。

采用字節碼的好處:

Java語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可
移植的特點。所java程序運行時比較高效,而且,由於字節碼並不專對一種特定的機器,因此,Java程序無須重
新編譯便可在多種不同的計算機上運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM