免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
JAVA跨平臺原理

JAVA的核心機(jī)制有兩個(gè):跨平臺機(jī)制(JAVA虛擬機(jī)),垃圾回收機(jī)制

跨平臺機(jī)制實(shí)現(xiàn)了:一次編譯,到處運(yùn)行

       ?。ㄅcC語言的跨平臺區(qū)別在于:C語言是多次編譯多次運(yùn)行,

         而這里所指的跨平臺是指編譯后的文件跨平臺)

垃圾回收機(jī)制實(shí)現(xiàn)了:自動(dòng)回收內(nèi)存,即無需程序員手動(dòng)內(nèi)存回收,避免忘記回收,造成內(nèi)存泄漏

JAVA跨平臺原理

 在JAVA中,執(zhí)行一段寫好的代碼會(huì)經(jīng)過編譯和解釋兩個(gè)過程:

編譯 Compile:把整個(gè)程序源代碼翻譯成另外一種代碼,然后等待被執(zhí)行,發(fā)生在運(yùn)行之前,產(chǎn)物是「另一份代碼」。
解釋 Interpret:把程序源代碼一行一行的讀懂然后執(zhí)行,發(fā)生在運(yùn)行時(shí),產(chǎn)物是「運(yùn)行結(jié)果」。

編譯:通過編譯器將.java文件(源文件)編譯成.class字節(jié)碼文件(二進(jìn)制文件),

    編譯器即javac.exe,實(shí)際上也是運(yùn)行其背后的代碼

解釋(執(zhí)行):通過解釋器將.class文件轉(zhuǎn)換為對應(yīng)操作系統(tǒng)可以識別的執(zhí)行文件格式,

        即當(dāng)前平臺認(rèn)識的機(jī)器碼然后執(zhí)行,解釋器即java.exe。

  注:表面上調(diào)用的是java.exe命令,實(shí)際上起作用的是虛擬機(jī)。

    底層動(dòng)態(tài)調(diào)用虛擬機(jī)(JVM程序)

    JVM再將.class字節(jié)碼文件解釋為當(dāng)前平臺認(rèn)識的機(jī)器碼并執(zhí)行。

    虛擬機(jī)和解釋器的關(guān)系:解釋器是虛擬機(jī)的一個(gè)重要的組成部分。

通過不同的JVM,JAVA代碼實(shí)現(xiàn)了在不同操作系統(tǒng)上的運(yùn)行,即跨平臺機(jī)制。

JAVA的跨平臺是:一次編譯,到處運(yùn)行。

C語言的跨平臺原理則是,直接編譯執(zhí)行為當(dāng)前操作系統(tǒng)的機(jī)器碼,這樣也實(shí)現(xiàn)了不同操作系統(tǒng)上運(yùn)行的效果。

即C語言源文件是跨平臺的,但其編譯后的文件無法跨平臺使用,顯而易見,因?yàn)镃語言是多次編譯多次運(yùn)行。

因此,如果跨平臺單指編譯后的文件跨平臺,那么JAVA是跨平臺語言,而C語言不算。

如下圖所示:

來源:https://www.icode9.com/content-1-634251.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java的運(yùn)行原理
快速了解Java
面試官:什么是字節(jié)碼?它最大的優(yōu)勢是什么?
我從馮·諾依曼計(jì)算機(jī)體系,追溯到了JVM,一切原來如此
Java語言概述
java 為啥可以跨平臺
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服