Java有一個其他語言都沒有特點,那就是跨平臺。跨平臺是什么意思呢?我們首先來看看平臺是指什么。平臺就是指我們計算機的操作系統(tǒng),例如:Windows、Linux、Mac等操作系統(tǒng)。
跨平臺的意思就是Java程序,在一次編譯后,在這些平臺上都可以運行。有其他編程語言基礎(chǔ)的朋友應(yīng)該知道,其他語言沒有這個特性,例如c語言在Windows上編譯的文件,放到Linux系統(tǒng)上運行,可能就有不兼容問題。

那么問題來了,Java語言的跨平臺是怎么做到的呢?本文,千鋒武漢Java培訓(xùn)小編給你解答一下。
一、Java跨平臺原理
首先我們來說一下Java代碼的運行過程:
1)首先將Java文件編譯成字節(jié)碼(.class)文件;
2)使用Java虛擬機(JVM--Java Virtual Machine)運行運行字節(jié)碼文件。
上面的步驟中,第一步中,在所有的平臺上生成的字節(jié)碼文件都是相同的。
上面的步驟中,第二步中,在不同的平臺上運行字節(jié)碼文件的Java虛擬機是不同的。
Java的開發(fā)團隊針對不同的平臺開發(fā)出了對應(yīng)版本的Java虛擬機,這使得同一個Java代碼文件可以
所以,Java能實現(xiàn)跨平臺運行是因為有各種平臺對應(yīng)版本的Java虛擬機的支持。
二、了解幾個名詞
* JDK
JDK是Java Development Kit的縮寫,JDK是Java語言的軟件開發(fā)工具包(SDK)。提供了Java開發(fā)、編譯、運行需要的文件和環(huán)境。
在JDK的安裝目錄下有一個Jre目錄,里面有兩個文件夾bin和lib,在這里可以認(rèn)為bin里的就是Jvm,lib中則是Jvm工作所需要的類庫,而Jvm和 lib合起來就稱為Jre。
* JRE
JRE是Java Runtime Environment的縮寫,JRE的內(nèi)部有一個Java虛擬機(Java Virtual Machine)以及一些標(biāo)準(zhǔn)的類別函數(shù)庫(Class Library),JRE是運行Java字節(jié)碼文件必備的工具。
* JVM
JVM是Java Virtual Machine的縮寫,JVM是一種用于計算設(shè)備的規(guī)范,它是一個虛構(gòu)出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現(xiàn)的。
JVM有針對不同平臺的版本,它們可以運行相同的Java代碼編譯的字節(jié)碼文件,這使得Java代碼實現(xiàn)的跨平臺。
Java程序就相當(dāng)于是老王,操作系統(tǒng)相當(dāng)于美國人或日本人,翻譯就相當(dāng)于JVM,通過不同JVM實現(xiàn)Java程序的跨平臺。
window系統(tǒng)有專門的JVM,Linux也有專門的JVM,所以Java編譯后的程序,能在這些操作系統(tǒng)上運行,得益于這些JVM的“翻譯”工作。
希望本文千鋒武漢Java培訓(xùn)小編的分享能幫助大家更好理解Java跨平臺的原理。想了解更多Java相關(guān)知識,可以關(guān)注“武漢千鋒”公眾號,后臺索取試聽資格和學(xué)習(xí)資料。
2021-10-22 千鋒武漢發(fā)布了 《《我的世界》千鋒1024程序員節(jié)品牌片重磅發(fā)布》的文章
2021-10-22 千鋒武漢發(fā)布了 《千鋒1024程序員節(jié)重磅激勵,多重豪禮強力助學(xué)》的文章
2021-10-22 千鋒武漢發(fā)布了 《千鋒聯(lián)動全國百所院校 開展1024程序員節(jié)狂“享”活動!》的文章
2021-10-20 千鋒武漢發(fā)布了 《千鋒為中國航發(fā)商發(fā)提供Python課程培訓(xùn),助力商發(fā)公司高效決策》的文章
2021-10-15 千鋒武漢發(fā)布了 《千鋒教育1024程序員狂歡節(jié)即將火爆來襲 “厚禮”一觸即發(fā)》的文章