Java跨平臺原理(位元組碼檔案,虛擬機器)
阿新 • • 發佈:2021-09-22
介紹
C/C++語言都直接編譯成針對特定平臺機器碼。如果要跨平臺,需要使用相應的編譯器重新編譯。
Java源程式(.java)要先編譯成與平臺無關的位元組碼檔案(.class),然後位元組碼檔案再解釋成機器碼執行。解釋是通過
Java虛擬機器來執行的。
位元組碼檔案不面向任何具體平臺,只面向虛擬機器。
Java虛擬機器是可執行Java位元組碼檔案的虛擬計算機。不同平臺的虛擬機器是不同的,但它們都提供了相同的介面。
Java語言具有一次編譯,到處執行的特點。就是說編譯後的.class可以跨平臺執行,前提是該平臺具有相應的Java虛
擬機。但是效能比C/C++要低。
Java的跨平臺原理決定了其效能沒有C/C++高
原理
- 一次編譯,到處執行
- 編譯器的作用,將檔案編譯成Class檔案
- 虛擬機器的作用:將位元組碼檔案class我就愛你解釋成對應平臺機器的機器碼並且執行
- Java虛擬機器可以跨所有平臺嗎?只有提供並安裝了相應的虛擬機器,就可以跨該平臺
- 虛擬機器與直譯器的關係: 直譯器是虛擬機器的一個重要組成部分
- Java語言的執行要經過編譯和解釋兩個階段
本文來自部落格園,作者:致非,轉載請註明原文連結:https://www.cnblogs.com/mycity/p/Java1.html