您好,登錄后才能下訂單哦!
這篇文章為大家?guī)?lái)有關(guān)java實(shí)現(xiàn)跨平臺(tái)的方法。大部分知識(shí)點(diǎn)都是大家經(jīng)常用到的,為此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
Java是可以跨平臺(tái)的編程語(yǔ)言,那我們首先得知道什么是平臺(tái),我們把CPU處理器與操作系統(tǒng)的整體叫平臺(tái)。
使用特定編譯器編譯的程序只能在對(duì)應(yīng)的平臺(tái)運(yùn)行,這里也可以說(shuō)編譯器是與平臺(tái)相關(guān)的,編譯后的文件也是與平臺(tái)相關(guān)的。我們說(shuō)的語(yǔ)言跨平臺(tái)是編譯后的文件跨平臺(tái),而不是源程序跨平臺(tái)。
java實(shí)現(xiàn)跨平臺(tái)的方法:
什么是平臺(tái)無(wú)關(guān)性
平臺(tái)無(wú)關(guān)性就是一種語(yǔ)言在計(jì)算機(jī)上的運(yùn)行不受平臺(tái)的約束,一次編譯,到處執(zhí)行。
也就是說(shuō),用Java創(chuàng)建的可以執(zhí)行二進(jìn)制程序,能夠不加改變的運(yùn)行于多個(gè)平臺(tái),Java減少了開(kāi)發(fā)和部署的多個(gè)平臺(tái)的成本和時(shí)間。
平臺(tái)無(wú)關(guān)性的實(shí)現(xiàn)
其中扮演者重要的角色有Java語(yǔ)言規(guī)范、Class文件、Java虛擬機(jī)(JVN)等。
在計(jì)算機(jī)世界中,計(jì)算機(jī)只認(rèn)識(shí)0和1.所以,真正被執(zhí)行的其實(shí)是由0和1組成的二進(jìn)制文件。
日常開(kāi)發(fā)使用的C、C++、Java、python 都屬于是高級(jí)語(yǔ)言,而非二進(jìn)制語(yǔ)言,所以,想讓計(jì)算機(jī)認(rèn)識(shí)我們寫出來(lái)的Java代碼,那就需要把他翻譯成由0和1組成的二進(jìn)制文件。這個(gè)過(guò)程就叫編譯。負(fù)責(zé)這一個(gè)過(guò)程的處理的工具叫做編譯器。
想把Java文件,編譯成二進(jìn)制文件文件,需要經(jīng)過(guò)兩步編譯,前端編譯和后端編譯。
對(duì)于Java的平臺(tái)無(wú)關(guān)性的支持是分布在整個(gè)Java體系結(jié)構(gòu)中的。
其中扮演著重要角色的有Java語(yǔ)言規(guī)范、Class文件、Java虛擬機(jī)等。
Java語(yǔ)言規(guī)范
通過(guò)規(guī)定Java語(yǔ)言中基本數(shù)據(jù)類型的取值范圍和行為。
Class文件
所有Java文件要編譯成統(tǒng)一的Class文件。
Java虛擬機(jī)
通過(guò)Java虛擬機(jī)將Class文件轉(zhuǎn)成對(duì)應(yīng)平臺(tái)的二進(jìn)制文件等 Java的平臺(tái)無(wú)關(guān)性是建立在Java虛擬機(jī)的平臺(tái)有關(guān)性基礎(chǔ)之上的,是因?yàn)镴ava虛擬機(jī)屏蔽了底層操作系統(tǒng)和硬件的差異。
關(guān)于java實(shí)現(xiàn)跨平臺(tái)的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。