Java跨平臺的原理

使用Java語言編寫應用程序最大的優勢在於「一次編譯,到處運行」,然而這並非說全部的Java程序都具備Java跨平臺的特性,spa

事實上,至關一部分的Java程序是不能在別的操做系統上正確運行的。操作系統

Java字節碼的兩種執行方式:code

1.即時編譯方式:解釋器先將字節碼編譯成機器碼,而後再執行該機器碼。xml

2.解釋執行方式:解釋器經過解釋一段執行一段的方式來完成Java字節碼程序的所有操做。虛擬機

Java程序執行和C++程序執行的對比分析:編譯

Java源代碼就比如C++源代碼軟件

Java源代碼編譯後的字節碼就比如C++源代碼編譯後的80x86機器碼(二進制程序文件)硬件

JVM虛擬機比如80X86計算機系統二進制

Java解釋器比如80X86的CPU程序

真正的80X86CPU上運行的是機器碼

而在Java解釋器上運行的是字節碼

能夠把Java解釋器想象成運行了「Java字節碼」的「CPU」,

但該「CPU」不是經過硬件實現的,而是用軟件實現的。

Java解釋器實際上就是特定的平臺下的一個應用程序。

只要特定平臺實現了Java解釋器程序,Java字節碼就能經過解釋器程序在該平臺下運行,這是Java跨平臺的根本。

固然,並非在全部的平臺下都有相應Java解釋器程序,這也是Java並不能在全部的平臺下都能運行的緣由,它只能在已經實現了Java解釋器程序的平臺下運行。

機器碼machine code)是一種機器指令的集合,有時也被稱爲原生碼Native Code),是計算機的CPU可直接解讀的數據。

相關文章
相關標籤/搜索