了解過java語言的小伙伴肯定都知道,Java語言的跨平臺(tái)性決定了Java語言的應(yīng)用領(lǐng)域十分廣泛,那么你知道Java跨平臺(tái)的原理是什么嗎?它究竟是如何實(shí)現(xiàn)跨平臺(tái)的呢?今天小千就來給大家介紹一下。
Java跨平臺(tái)的原理
首先我們來說一下Java代碼的運(yùn)行過程:1、首先將java文件編譯成字節(jié)碼(.class)文件;2、使用Java虛擬機(jī)(JVM--Java Virtual Machine)運(yùn)行運(yùn)行字節(jié)碼文件。
上面的步驟中,第一步中,在所有的平臺(tái)上生成的字節(jié)碼文件都是相同的。第二步中,在不同的平臺(tái)上運(yùn)行字節(jié)碼文件的Java虛擬機(jī)是不同的。
Java的開發(fā)團(tuán)隊(duì)針對不同的平臺(tái)開發(fā)出了對應(yīng)版本的java虛擬機(jī),這使得同一個(gè)java代碼文件可以再不同的平臺(tái)上運(yùn)行。所以,java能實(shí)現(xiàn)跨平臺(tái)運(yùn)行是因?yàn)橛懈鞣N平臺(tái)對應(yīng)版本的java虛擬機(jī)的支持。
幾個(gè)常見的Java名詞解釋
* JDK
JDK是Java Development Kit的縮寫,JDK是Java語言的軟件開發(fā)工具包(SDK)。提供了java開發(fā)、編譯、運(yùn)行需要的文件和環(huán)境。 在JDK的安裝目錄下有一個(gè)jre目錄,里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib合起來就稱為jre。
* JRE
JRE是Java Runtime Environment的縮寫,JRE的內(nèi)部有一個(gè)Java虛擬機(jī)(Java Virtual Machine)以及一些標(biāo)準(zhǔn)的類別函數(shù)庫(Class Library),JRE是運(yùn)行java字節(jié)碼文件必備的工具。
* JVM
JVM是Java Virtual Machine的縮寫,JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來的計(jì)算機(jī),是通過在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)的。JVM有針對不同平臺(tái)的版本,它們可以運(yùn)行相同的java代碼編譯的字節(jié)碼文件,這使得Java代碼實(shí)現(xiàn)的跨平臺(tái)。
以上就是Java跨平臺(tái)的原理介紹了,相信大家看完應(yīng)該都有自己的理解了,最后歡迎對java開發(fā)感興趣的同學(xué)來到千鋒Java培訓(xùn)班參加我們的Java培訓(xùn)課程的學(xué)習(xí),現(xiàn)在咨詢不僅有兩周的免費(fèi)試聽機(jī)會(huì),還能免費(fèi)領(lǐng)取Java學(xué)習(xí)教程視頻,趕緊來了解一下吧。
千鋒Java培訓(xùn)班:http://m.madgrindclothing.com/java/