JAVA和JVM運(yùn)行原理揭秘
這里和大家簡(jiǎn)單分享一下JAVA和JVM運(yùn)行的原理,Java語(yǔ)言寫(xiě)的源程序通過(guò)Java編譯器,編譯成與平臺(tái)無(wú)關(guān)的‘字節(jié)碼程序’(.class文件,也就是0,1二進(jìn)制程序),然后在OS之上的Java解釋器中解釋執(zhí)行,而JVM是java的核心和基礎(chǔ),在java編譯器和os平臺(tái)之間的虛擬處理器
JAVA和JVM運(yùn)行的原理
1.Java語(yǔ)言運(yùn)行的過(guò)程
Java語(yǔ)言寫(xiě)的源程序通過(guò)Java編譯器,編譯成與平臺(tái)無(wú)關(guān)的‘字節(jié)碼程序’(.class文件,也就是0,1二進(jìn)制程序),然后在OS之上的Java解釋器中解釋執(zhí)行。
也相當(dāng)與
注:JVM(java虛擬機(jī))包括解釋器,不同的JDK虛擬機(jī)是相同的,解釋器不同。
2.JVM:
JVM是java的核心和基礎(chǔ),在java編譯器和os平臺(tái)之間的虛擬處理器。它是一種利用軟件方法實(shí)現(xiàn)的抽象的計(jì)算機(jī)基于下層的操作系統(tǒng)和硬件平臺(tái),可以在上面執(zhí)行java的字節(jié)碼程序。
java編譯器只要面向JVM,生成JVM能理解的代碼或字節(jié)碼文件。Java源文件經(jīng)編譯成字節(jié)碼程序,通過(guò)JVM將每一條指令翻譯成不同平臺(tái)機(jī)器碼,通過(guò)特定平臺(tái)運(yùn)行。
JVM執(zhí)行程序的過(guò)程 :
I.加載。class文件
II.管理并分配內(nèi)存
III.執(zhí)行垃圾收集
JRE(java運(yùn)行時(shí)環(huán)境)由JVM構(gòu)造的java程序的運(yùn)行環(huán)境
【編輯推薦】