1. 程式人生 > >java如何實現跨平臺的?

java如何實現跨平臺的?

不同的 版本 文件 machine clas 不同 如何實現 語言 程序

那麽,跨平臺是怎樣實現的呢?這就要談及Java虛擬機(Java Virtual Machine,簡稱 JVM)。

JVM也是一個軟件,不同的平臺有不同的版本。我們編寫的Java源碼,編譯後會生成一種 .class 文件,稱為字節碼文件。Java虛擬機就是負責將字節碼文件翻譯成特定平臺下的機器碼然後運行。也就是說,只要在不同平臺上安裝對應的JVM,就可以運行字節碼文件,運行我們編寫的Java程序。

而這個過程中,我們編寫的Java程序沒有做任何改變,僅僅是通過JVM這一”中間層“,就能在不同平臺上運行,真正實現了”一次編譯,到處運行“的目的。

JVM是一個”橋梁“,是一個”中間件“,是實現跨平臺的關鍵,Java代碼首先被編譯成字節碼文件,再由JVM將字節碼文件翻譯成機器語言,從而達到運行Java程序的目的。

註意:編譯的結果不是生成機器碼,而是生成字節碼,字節碼不能直接運行,必須通過JVM翻譯成機器碼才能運行。不同平臺下編譯生成的字節碼是一樣的,但是由JVM翻譯成的機器碼卻不一樣。

所以,運行Java程序必須有JVM的支持,因為編譯的結果不是機器碼,必須要經過JVM的再次翻譯才能執行。即使你將Java程序打包成可執行文件(例如 .exe),仍然需要JVM的支持。

註意:跨平臺的是Java程序,不是JVM。JVM是用C/C++開發的,是編譯後的機器碼,不能跨平臺,不同平臺下需要安裝不同版本的JVM。

java如何實現跨平臺的?