日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java 實(shí)現(xiàn)跨平臺(tái)的操作方式

瀏覽:161日期:2022-08-25 15:16:39

什么是平臺(tái)無關(guān)性

平臺(tái)無關(guān)性就是一種語言在計(jì)算機(jī)上的運(yùn)行不受平臺(tái)的約束,一次編譯,到處執(zhí)行。

也就是說,用Java創(chuàng)建的可以執(zhí)行二進(jìn)制程序,能夠不加改變的運(yùn)行于多個(gè)平臺(tái),Java減少了開發(fā)和部署的多個(gè)平臺(tái)的成本和時(shí)間。

平臺(tái)無關(guān)性的實(shí)現(xiàn)

其中扮演者重要的角色有Java語言規(guī)范、Class文件、Java虛擬機(jī)(JVN)等。

在計(jì)算機(jī)世界中,計(jì)算機(jī)只認(rèn)識(shí)0和1.所以,真正被執(zhí)行的其實(shí)是由0和1組成的二進(jìn)制文件。

日常開發(fā)使用的C、C++、Java、python 都屬于是高級(jí)語言,而非二進(jìn)制語言,所以,想讓計(jì)算機(jī)認(rèn)識(shí)我們寫出來的Java代碼,那就需要

把他翻譯成由0和1組成的二進(jìn)制文件。這個(gè)過程就叫編譯。負(fù)責(zé)這一個(gè)過程的處理的工具叫做編譯器。

想把Java文件,編譯成二進(jìn)制文件文件,需要經(jīng)過兩步編譯,前端編譯和后端編譯。

Java 實(shí)現(xiàn)跨平臺(tái)的操作方式

前端編譯主要是指與源語言有關(guān)但與目標(biāo)機(jī)無關(guān)的部分。Java中,我們知道的 javac 的編譯就是前端編譯。除了這種以外,我們使用的很多IDE如eclipse,idea等,都是內(nèi)置了前端編譯器,

主要功能就是.java文件轉(zhuǎn)換為.class文件。

后端編譯主要是將中間代碼再翻譯成機(jī)器語言。Java中,這一步驟就是后端編譯(jvm來執(zhí)行)。

Java 實(shí)現(xiàn)跨平臺(tái)的操作方式

Java虛擬機(jī)

之所以跨平臺(tái)是由jvm來完成的,jvm會(huì)根據(jù)不用的操作系統(tǒng)和硬件設(shè)備,提供不同jvm。對(duì)于不同的操作系統(tǒng)jvm對(duì)應(yīng)的質(zhì)指令是不同的class文件。

比如同樣執(zhí)行a+b,A操作系統(tǒng)對(duì)應(yīng)的二進(jìn)制指令可能是10001000,而B操作系統(tǒng)對(duì)應(yīng)的指令可能是11101110。那么,想要做到跨平臺(tái),最重要的就是可以根據(jù)對(duì)應(yīng)的硬件和操作系統(tǒng)生成對(duì)應(yīng)的二進(jìn)制指令。

Java 實(shí)現(xiàn)跨平臺(tái)的操作方式

有了Java虛擬機(jī),想要執(zhí)行a+b操作,A操作系統(tǒng)上面的虛擬機(jī)就會(huì)把指令翻譯成10001000,B操作系統(tǒng)上面的虛擬機(jī)就會(huì)把指令翻譯成11101110。

Java 實(shí)現(xiàn)跨平臺(tái)的操作方式

所以,Java之所以可以做到跨平臺(tái),是因?yàn)镴ava虛擬機(jī)充當(dāng)了橋梁。他扮演了運(yùn)行時(shí)Java程序與其下的硬件和操作系統(tǒng)之間的緩沖角色。

class字節(jié)碼

各種不同的平臺(tái)的虛擬機(jī)都使用統(tǒng)一的程序存儲(chǔ)格式——字節(jié)碼(ByteCode)是構(gòu)成平臺(tái)無關(guān)性的另一個(gè)基石。Java虛擬機(jī)只與由字節(jié)碼組成的Class文件進(jìn)行交互。 我們說Java語言可以Write Once ,Run Anywhere。這里的Write其實(shí)指的就是生成Class文件的過程。 因?yàn)镴ava Class文件可以在任何平臺(tái)創(chuàng)建,也可以被任何平臺(tái)的Java虛擬機(jī)裝載并執(zhí)行,所以才有了Java的平臺(tái)無關(guān)性。class 是16進(jìn)制的文件流,最終會(huì)被jvm轉(zhuǎn)成二進(jìn)制的機(jī)械碼。

Java語言規(guī)范

已經(jīng)有了統(tǒng)一的Class文件,以及可以在不同平臺(tái)上將Class文件翻譯成對(duì)應(yīng)的二進(jìn)制文件的Java虛擬機(jī),Java就可以徹底實(shí)現(xiàn)跨平臺(tái)了嗎? 其實(shí)并不是的,Java語言在跨平臺(tái)方面也是做了一些努力的,這些努力被定義在Java語言規(guī)范中。 比如,Java中基本數(shù)據(jù)類型的值域和行為都是由其自己定義的。而C/C++中,基本數(shù)據(jù)類型是由它的占位寬度決定的,占位寬度則是由所在平臺(tái)決定的。所以,在不同的平臺(tái)中,對(duì)于同一個(gè)C++程序的編譯結(jié)果會(huì)出現(xiàn)不同的行為。 舉一個(gè)簡(jiǎn)單的例子,對(duì)于int類型,在Java中,int占4個(gè)字節(jié),這是固定的。 但是在C++中卻不是固定的了。在16位計(jì)算機(jī)上,int類型的長(zhǎng)度可能為兩字節(jié);在32位計(jì)算機(jī)上,可能為4字節(jié);當(dāng)64位計(jì)算機(jī)流行起來后,int類型的長(zhǎng)度可能會(huì)達(dá)到8字節(jié)。根據(jù)規(guī)范格式,才能夠被jvm編譯以及解釋運(yùn)行。

Java 實(shí)現(xiàn)跨平臺(tái)的操作方式

總結(jié)

對(duì)于Java的平臺(tái)無關(guān)性的支持是分布在整個(gè)Java體系結(jié)構(gòu)中的。

其中扮演著重要角色的有Java語言規(guī)范、Class文件、Java虛擬機(jī)等。

Java語言規(guī)范

通過規(guī)定Java語言中基本數(shù)據(jù)類型的取值范圍和行為

Class文件

所有Java文件要編譯成統(tǒng)一的Class文件

Java虛擬機(jī)

通過Java虛擬機(jī)將Class文件轉(zhuǎn)成對(duì)應(yīng)平臺(tái)的二進(jìn)制文件等 Java的平臺(tái)無關(guān)性是建立在Java虛擬機(jī)的平臺(tái)有關(guān)性基礎(chǔ)之上的,是因?yàn)镴ava虛擬機(jī)屏蔽了底層操作系統(tǒng)和硬件的差異。

以上這篇Java 實(shí)現(xiàn)跨平臺(tái)的操作方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲女同中文字幕| 久久亚洲道色| 国产精品密蕾丝视频下载| 亚洲国产成人二区| 男人的天堂久久精品| 成人日韩av| 亚洲色图国产| 日韩欧美一区二区三区在线视频| 久久亚洲二区| 欧美成人a交片免费看| 日韩欧美久久| re久久精品视频| 日韩理论视频| 蜜桃91丨九色丨蝌蚪91桃色| 日韩av在线免费观看不卡| 国产aⅴ精品一区二区四区| 91久久午夜| 国产精品男女| 一区视频在线| 免费一区二区三区在线视频| 欧美日韩在线播放视频| 69精品国产久热在线观看| 日韩欧美国产精品综合嫩v| 综合视频一区| 日韩国产在线| 日本精品国产| 久久国产主播| 日韩avvvv在线播放| 91精品国产成人观看| 午夜精品福利影院| 精品国模一区二区三区| 国产亚洲欧美日韩在线观看一区二区 | 婷婷久久一区| 日韩不卡一二三区| 成人啊v在线| 久久精品成人| 美女久久99| 欧美日韩亚洲一区三区| 视频一区在线视频| 在线精品小视频| 成人在线超碰| 麻豆精品蜜桃视频网站| 97精品资源在线观看| 中文视频一区| 亚洲少妇一区| 欧美国产91| 久久人人97超碰国产公开结果| 国产一区二区三区四区大秀| 国产精品chinese| 日韩av在线中文字幕| 在线视频免费在线观看一区二区| 福利精品在线| 欧美精品三级在线| 免费成人性网站| 欧美.日韩.国产.一区.二区 | 麻豆高清免费国产一区| 中文字幕av亚洲精品一部二部 | 欧美午夜不卡影院在线观看完整版免费| 欧美国产极品| 亚洲精品影视| 视频一区二区欧美| 久久久久蜜桃| 国产欧美一区二区三区精品酒店| 国产精品视频首页| 日韩视频1区| 亚洲男女av一区二区| 欧美激情另类| 欧美精品第一区| 欧美亚洲tv| 日韩国产成人精品| 中文字幕一区日韩精品| 亚洲中午字幕| 久久九九精品| 精品视频亚洲| 日韩一区二区三区免费播放| 日韩精品免费一区二区三区| 久久影视一区| 亚洲黄页一区| 亚洲1区在线| 国产高清精品二区| 精品国产乱码| 久久影院午夜精品| 国产一区欧美| 亚洲欧美日韩在线观看a三区| 视频精品一区二区| 日韩国产欧美视频| 国产精品99久久免费| 97精品国产一区二区三区 | 欧美男人天堂| 97精品一区| 日韩在线免费| 久久国产毛片| 蜜桃国内精品久久久久软件9| 欧美高清一区| 午夜日韩福利| 日韩视频在线一区二区三区 | 国产欧洲在线| 欧美aa在线观看| 色爱av综合网| 免费视频国产一区| 国产国产精品| 久热re这里精品视频在线6| 蜜臀久久99精品久久久久久9| 老鸭窝亚洲一区二区三区| 免费成人av在线播放| 偷拍亚洲精品| 国产精久久久| 国产精品久久久久蜜臀| 久久精品成人| 国产精品一国产精品| 黑森林国产精品av| 日韩亚洲精品在线| 国产欧美日韩在线一区二区| 日韩成人三级| 在线一区二区三区视频| 国产日韩欧美一区| 日韩在线综合| 亚洲精品影视| 国产精品原创| 亚洲精品麻豆| 国产精品专区免费| 蜜桃久久精品一区二区| 精品黄色一级片| 9国产精品视频| 国产黄色精品| 国产激情久久| 欧美一区免费| 美女av在线免费看| 国产精品美女| 欧美在线看片| 久久影视三级福利片| 日韩欧美精品综合| 日韩不卡视频在线观看| 91精品啪在线观看国产18| 2023国产精品久久久精品双| 亚洲综合电影一区二区三区| 亚洲精品中文字幕99999| 国产手机视频一区二区| 欧美精品激情| 国产精品一区免费在线| 99精品国产一区二区三区| 伊人国产精品| 精品72久久久久中文字幕| 婷婷成人在线| 欧美日韩一区二区三区在线电影| 电影91久久久| 亚洲欧美日韩视频二区| 老司机精品视频网| 国产视频一区三区| 精品视频网站| 一级欧美视频| 日韩在线二区| 日韩av不卡一区二区| 久久久久网站| 欧美日韩中出| 女同性一区二区三区人了人一| 米奇777超碰欧美日韩亚洲| 中文久久精品| 亚洲天堂1区| 国产第一亚洲| 日韩av影院| 午夜一级久久| 99久久婷婷这里只有精品| 久久精品国产一区二区| 青草综合视频| 伊人www22综合色| 欧美1区2区3区| 97精品中文字幕| 国产高清亚洲| 91精品国产自产精品男人的天堂| 国产亚洲网站| 蜜桃成人av| 91精品在线观看国产| 四季av一区二区凹凸精品| 国产精品一区二区av交换| 中文一区一区三区免费在线观 | 日本不卡一区二区三区| 日韩高清中文字幕一区二区| 国产欧美日韩一区二区三区在线| 婷婷综合在线| 成人一区而且| 欧美视频精品全部免费观看| 日韩一区二区免费看| 中文字幕在线免费观看视频| 91成人在线| 免播放器亚洲| 91精品啪在线观看国产18| 国产欧美一区二区三区国产幕精品| 欧美日韩国产一区精品一区| 国产 日韩 欧美 综合 一区| 五月亚洲婷婷 | 日韩中文在线电影| 丰满少妇一区| 老司机精品视频在线播放| 国产伦一区二区三区| 久久激情综合网| 国产亚洲精品精品国产亚洲综合| 丝袜美腿一区二区三区| 亚洲免费精品| 亚洲欧美日韩专区|