溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java啟蒙之路-Java虛擬機(jī)

發(fā)布時(shí)間:2020-08-01 10:14:23 來(lái)源:網(wǎng)絡(luò) 閱讀:146 作者:sxt程序猿 欄目:編程語(yǔ)言

 Java虛擬機(jī)概念

  Java虛擬機(jī)(Java Virtual Machine,JVM)是一個(gè)抽象的計(jì)算機(jī),和實(shí)際的計(jì)算機(jī)一樣,通過(guò)模擬仿真來(lái)實(shí)現(xiàn)計(jì)算機(jī)功能。Java虛擬機(jī)不僅有自己本身的硬件架構(gòu),如處理器、堆棧、寄存器,還具有相應(yīng)的指令系統(tǒng)。

  Java的運(yùn)行機(jī)制

  Java的跨平臺(tái)是它的主要特性之一,而Java虛擬機(jī)是實(shí)現(xiàn)這一特性的關(guān)鍵。Java程序的整個(gè)執(zhí)行過(guò)程包括編譯階段與運(yùn)行階段,其中涉及到Java源程序、Java字節(jié)碼文件、Java類庫(kù)和Java虛擬機(jī)以及最后的平臺(tái)。

  在Java編譯階段,編寫的Java源程序(.java)經(jīng)過(guò)Java編譯器編譯成字節(jié)碼文件(.class)后并保存起來(lái)。

  在Java運(yùn)行階段,獲取到保存的.class字節(jié)碼文件以及源程序中引用的類庫(kù)Java API的字節(jié)碼文件,然后通過(guò)類裝載器(Class Loader)將這些文件一并裝載到內(nèi)存緩沖區(qū),接著Java虛擬機(jī)開始執(zhí)行這些文件并生成目標(biāo)代碼(字節(jié)碼)。由于Java虛擬機(jī)可以將字節(jié)碼程序跟具體的操作系統(tǒng)及硬件平臺(tái)分割開來(lái),只要各平臺(tái)實(shí)現(xiàn)了Java虛擬機(jī),任何Java程序就可以在其上面運(yùn)行了。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI