JVM體系結(jié)構(gòu)

JRE/JDK/JVM的關(guān)系

JRE(Java Runtime Environment):中文名為java運行是環(huán)境,也就是java平臺。所有的java程序都要在有jre的環(huán)境下才能運行。

JDK(Java Development Kit):中文名為java開發(fā)工具,jdk的工具也是java程序,也需要jre環(huán)境才能運行。

JVM(Java Virtual Machine):中文名為java虛擬機,這個是jre的一部分。

JVM環(huán)境的加載

以windows操作系統(tǒng)為例,裝入JVM是通過jdk中的Java.exe可執(zhí)行程序來完成的,具體可以分為四步:

創(chuàng)建JVM裝載環(huán)境和配置

裝載JVM.dll

初始化JVM.dll并掛到JNIENV(JNI調(diào)用接口)實例

調(diào)用JNIENV實例裝載并處理class類

JVM的生命周期

當一個Java程序啟動時,一個JVM實例就產(chǎn)生了,任何存在public static void main(String [] args)方法的類都可以作為JVM實例運行的起點,所以在平時定義一個Class時就要顯示告訴JVM類名,這樣JVM才能知道是該運行哪個類里面的main方法。

main()方法是初始線程的起點,任何其它線程均由該線程啟動。JVM內(nèi)部存在兩種線程,分別為守護線程和非守護線程,main()屬于非守護線程,守護線程通常由JVM自己使用,Java程序也可以標明自己創(chuàng)建的線程是守護線程。

當程序中的所有非守護線程都終止時,JVM才退出,程序中也可以使用setDaemon(boolean on)方法來設(shè)定為守護線程。(Linux中說守護進程,這里為什么說守護線程呢?因為,java是跑在JVM虛擬機上的)。

JVM體系結(jié)構(gòu)

JVM內(nèi)部分成三部分,分別為:類裝載器(ClassLoader)子系統(tǒng)、執(zhí)行引擎和運行時數(shù)據(jù)區(qū)。

類裝載器子系統(tǒng):就是用來裝載.class文件的系統(tǒng)。JVM的兩種裝載器包括:啟動類裝載器和用戶自定義類裝載器。啟動類裝載器是JVM實現(xiàn)的一部分,用戶自定義類裝載器則是java程序的一部分,必須是ClassLoader類的子類。

執(zhí)行引擎:執(zhí)行引擎是Java虛擬機核心組成部分之一,輸入的是字節(jié)碼文件,處理過程就是字節(jié)碼解析的等效過程,輸出的是執(zhí)行結(jié)果,對于執(zhí)行引擎來講,活動線程中,只有棧頂?shù)臈怯行У?,稱為當前棧幀,這個棧幀所關(guān)聯(lián)的方法稱為當前方法。執(zhí)行引擎所運行的所有字節(jié)碼指令都是針對當前棧幀進行操作。

運行時數(shù)據(jù)區(qū):主要有方法區(qū)、堆、Java棧、PC寄存器、本地方法棧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)存溢出和內(nèi)存泄漏的區(qū)別 內(nèi)存溢出:out of memory,是指程序在申請內(nèi)存時,沒有足夠的內(nèi)存空間供其使用,...
    Aimerwhy閱讀 805評論 0 1
  • 前言 寫這篇文章的目的: 總結(jié)所學的 JVM 知識 幫助想了解 JVM 的朋友,知無不言,言無不盡 本篇文章將會介...
    SavySoda閱讀 5,225評論 11 105
  • 黑夜入人心,從毛孔慢慢溢出來。 三年前,認知里的真和愛崩塌,變成虛偽變成恥辱,再沒有堅定不移相信的東西。變得脆弱膽...
    阿采桑子閱讀 159評論 0 0
  • 一 對于上班時間這件事,似乎沒有比這家公司更奇葩的了。雖說一天的工時是七小時制,但實際情況是如何呢,通過下面...
    韓馳冰閱讀 240評論 0 1
  • 毫不諱言,對待影視劇的態(tài)度,我有點崇洋媚外。一直對國產(chǎn)電影不大提得起興趣,即使從眾看過一些,真能打動我的...
    魅羅閱讀 1,375評論 3 5

友情鏈接更多精彩內(nèi)容