眾所周知,Java跨平臺的一直被眾多Java程序員們津津樂道,“一次編寫,到處運行”的設想著實令人心動,雖然會帶來一定性能上的問題,但這并不妨礙大家對Java的喜愛,既然都說Java能跨平臺,Java 也并不是憑空就能跑在任何機器上,這是不現(xiàn)實的,需要官方針對對應的平臺,編譯一套對應平臺包括 Java 虛擬機(Java Runtime Environment 簡稱 JRE)在內(nèi)的 Java 開發(fā)工具集(Java Develop Kit,簡稱 JDK),這樣我們編寫的 Java 代碼才算是能“跨”這個平臺。雖然理論上也可以自己根據(jù)字節(jié)碼規(guī)范實現(xiàn)一套對應平臺的 JDK,但是這很很明顯只是理論上,因此我們這里只討論官方支持的平臺。
目前以比較老的 Java 6 為例,官網(wǎng)給出支持的有如下系統(tǒng)
Linux
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應用程序和網(wǎng)絡協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡為核心的設計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡操作系統(tǒng)。
Solaris
Solaris 在服務器領域使用較多,是Sun Microsystems研發(fā)的計算機操作系統(tǒng)。它被認為是UNIX操作系統(tǒng)的衍生版本之一。 目前Solaris仍舊屬于私有軟件。2005年6月14日,Sun公司將正在開發(fā)中的Solaris 11的源代碼以CDDL許可開放,這一開放版本就是OpenSolaris。
Windows
Microsoft Windows,是美國微軟公司研發(fā)的一套操作系統(tǒng),它問世于1985年,起初僅僅是Microsoft-DOS模擬環(huán)境,后續(xù)的系統(tǒng)版本由于微軟不斷的更新升級,不但易用,也慢慢的成為家家戶戶人們最喜愛的操作系統(tǒng)。分為32位和64位兩種架構。
Linux Intel Itanium
這是運行于Itanium架構 CPU 的Linux系統(tǒng),因為CPU架構不同,所以系統(tǒng)內(nèi)核就要修改,因此JVM實現(xiàn)也與普通的Liunx版本不一樣。Itaninm架構構建基于 IA-64(Intel Architecture 64)指令集架構,“。Itanium是當初設想是專門用在高端企業(yè)級64-bit計算環(huán)境中競爭的,對抗基于IBM Power4/5,HP PA-RISC,Sun UltraSparc-III及DEC Alpha的服務器。64位只是安騰處理器的一個技術特征。所有基于Intel安騰2處理器的系統(tǒng)都支持32Intel架構(IA-32)軟件應用,從而用戶移植到Intel安騰2架構提供了更高的靈活性。Intel提供了一種名為32位英特爾架構(IA-32)執(zhí)行層(EL)的技術來支持32位英特爾架構(IA-32)軟件應用,可惜的是這個架構已經(jīng)失敗了。
Windows Intel Itanium
與上面的Linux類似,也是基于安騰架構重寫了內(nèi)核的系統(tǒng)
Mac OS
在 Apple 官網(wǎng)也是能找到 Java 6 的 JDK 的。Mac OS是一套運行于蘋果 Macintosh系列電腦上的操作系統(tǒng),風格較為簡約,比較注重使用效率和體驗細節(jié),雖然軟件生態(tài)環(huán)境不上如 Windows,但這并不妨礙人們對它的熱愛。
總結
其實基本上總共也就四個平臺:Linux / Windows / Solaris / Mac OS,但可以說已經(jīng)基本覆蓋 99% 的計算機了,“一次編寫到處運行”,真的不只是說說而已。