java源碼首先編譯成字節(jié)碼,然后由java虛擬機(jī)解釋執(zhí)行字節(jié)碼文件,因此只要給不同的平臺(tái)安裝java虛擬機(jī),那么java源代碼編譯一次生成字節(jié)碼就可以在各種平臺(tái)上運(yùn)行,這就是跨平臺(tái)的原因。
焦作網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站于2013年開(kāi)始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
這種執(zhí)行方式稱(chēng)作編譯執(zhí)行,它把源程序與特定平臺(tái)的編譯器一次性編譯成平臺(tái)相關(guān)的機(jī)器碼。優(yōu)點(diǎn)是執(zhí)行速度快,缺點(diǎn)是無(wú)法跨平臺(tái)。
因?yàn)橛蠮ava虛擬機(jī)JVM。在每個(gè)不同的平臺(tái)中都有相應(yīng)的java虛擬機(jī),而java代碼是在虛擬機(jī)基礎(chǔ)上運(yùn)行的。
java跨平臺(tái)是因?yàn)閖ava虛擬機(jī)是可以跨平臺(tái)運(yùn)行的,java最大的優(yōu)點(diǎn):1。一個(gè)很大的類(lèi)庫(kù)。應(yīng)用程序之所以難以跨平臺(tái),在于直接調(diào)用了特定平臺(tái)的接口,而一個(gè)巨大的類(lèi)庫(kù),就能極大地減少應(yīng)用程序?qū)ζ脚_(tái)的依賴(lài)。2。捆綁編譯器。
即*.class文件只需認(rèn)JVM,由JVM再去適應(yīng)各個(gè)操作系統(tǒng)。如果不同的操作系統(tǒng)安裝上符合其類(lèi)型的JVM,那么以后程序無(wú)論到哪個(gè)OS上都是可以正確執(zhí)行的。所以,Java真正實(shí)現(xiàn)跨平臺(tái)的是JVM的跨平臺(tái)。
1、Java語(yǔ)言的跨平臺(tái)特點(diǎn)是由Java虛擬機(jī)(JVM)保證的。JVM是一個(gè)能夠解釋和執(zhí)行Java字節(jié)碼的軟件,它可以在不同的操作系統(tǒng)上運(yùn)行,并且能夠自適應(yīng)不同的硬件環(huán)境。
2、所以Java可以跨平臺(tái)。因?yàn)樗刑摂M機(jī)(JVM),JAVA程序不是直接在電腦上運(yùn)行的,是在虛擬機(jī)上進(jìn)行的,每個(gè)系統(tǒng)平臺(tái)都是有自己的虛擬機(jī)(JVM),所以JAVA語(yǔ)言能跨平臺(tái)。
3、Java語(yǔ)言的跨平臺(tái)特點(diǎn)是由Java虛擬機(jī)(Java Virtual Machine, JVM)保證的。JVM是Java平臺(tái)的核心組件之一,它負(fù)責(zé)將Java源代碼編譯成字節(jié)碼(bytecode),并在各個(gè)操作系統(tǒng)上解釋執(zhí)行字節(jié)碼。
4、Java跨平臺(tái)原理 接著我們看看Java程序的跨平臺(tái)性是怎么實(shí)現(xiàn)的——Java程序被編譯成一種中間語(yǔ)言,再由JVM將Java字節(jié)碼(.class文件)翻譯成機(jī)器語(yǔ)言。
5、即*.class文件只需認(rèn)JVM,由JVM再去適應(yīng)各個(gè)操作系統(tǒng)。如果不同的操作系統(tǒng)安裝上符合其類(lèi)型的JVM,那么以后程序無(wú)論到哪個(gè)OS上都是可以正確執(zhí)行的。所以,Java真正實(shí)現(xiàn)跨平臺(tái)的是JVM的跨平臺(tái)。
6、跨平臺(tái)的實(shí)現(xiàn):首先,我們編譯好的程序文件是以.java后綴保存的,而我們編譯.java文件完成時(shí),編譯器會(huì)幫我們生成一個(gè)標(biāo)準(zhǔn)的.class字節(jié)碼文件,JVM會(huì)運(yùn)行該文件。
Java之所以能跨平臺(tái),是因?yàn)閖ava虛擬機(jī)能跨平臺(tái)。因?yàn)镴ava程序編譯之后的代碼不是能被硬件系統(tǒng)直接運(yùn)行的代碼,而是一種“中間碼”——字節(jié)碼。
C/C++語(yǔ)言都直接編譯成針對(duì)特定平臺(tái)機(jī)器碼。如果要跨平臺(tái),需要使用相應(yīng)的編譯器重新編譯。Java源程序(.java)要先編譯成與平臺(tái)無(wú)關(guān)的字節(jié)碼文件(.class),然后字節(jié)碼文件再解釋成機(jī)器碼運(yùn)行。解釋是通過(guò)Java虛擬機(jī)來(lái)執(zhí)行的。
首先糾正下錯(cuò)誤:也有語(yǔ)言可以跨平臺(tái),比如匯編,機(jī)器碼這類(lèi)的低級(jí)語(yǔ)言。只是這類(lèi)的低級(jí)語(yǔ)言?xún)H僅只是語(yǔ)法通過(guò),不能做到同一代碼同樣執(zhí)行效果。要解釋java為何能跨平臺(tái)就要從java的執(zhí)行過(guò)程來(lái)講。
網(wǎng)頁(yè)題目:java跨平臺(tái)代碼 java跨平臺(tái)實(shí)現(xiàn)的原理
地址分享:http://aaarwkj.com/article38/deopdpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、商城網(wǎng)站、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容