小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

JAVA跨平臺原理

 印度阿三17 2020-02-07

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

跨平臺機制實現(xiàn)了:一次編譯,到處運行

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

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

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

JAVA跨平臺原理

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

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

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

    編譯器即javac.exe,實際上也是運行其背后的代碼

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

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

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

    底層動態(tài)調(diào)用虛擬機(JVM程序),

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

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

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

JAVA的跨平臺是:一次編譯,到處運行。

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

即C語言源文件是跨平臺的,但其編譯后的文件無法跨平臺使用,顯而易見,因為C語言是多次編譯多次運行。

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

如下圖所示:

來源:https://www./content-1-634251.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多