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

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

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

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

JVM(Java Virtual Machine):中文名為java虛擬機(jī)谭网,這個(gè)是jre的一部分汪厨。

JVM環(huán)境的加載

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

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

裝載JVM.dll

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

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

JVM的生命周期

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

main()方法是初始線程的起點(diǎn)站楚,任何其它線程均由該線程啟動(dòng)脱惰。JVM內(nèi)部存在兩種線程,分別為守護(hù)線程和非守護(hù)線程窿春,main()屬于非守護(hù)線程拉一,守護(hù)線程通常由JVM自己使用采盒,Java程序也可以標(biāo)明自己創(chuàng)建的線程是守護(hù)線程。

當(dāng)程序中的所有非守護(hù)線程都終止時(shí)蔚润,JVM才退出磅氨,程序中也可以使用setDaemon(boolean on)方法來(lái)設(shè)定為守護(hù)線程。(Linux中說(shuō)守護(hù)進(jìn)程嫡纠,這里為什么說(shuō)守護(hù)線程呢烦租?因?yàn)椋琷ava是跑在JVM虛擬機(jī)上的)除盏。

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

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

類裝載器子系統(tǒng):就是用來(lái)裝載.class文件的系統(tǒng)窃祝。JVM的兩種裝載器包括:?jiǎn)?dòng)類裝載器和用戶自定義類裝載器。啟動(dòng)類裝載器是JVM實(shí)現(xiàn)的一部分踱侣,用戶自定義類裝載器則是java程序的一部分粪小,必須是ClassLoader類的子類。

執(zhí)行引擎:執(zhí)行引擎是Java虛擬機(jī)核心組成部分之一抡句,輸入的是字節(jié)碼文件探膊,處理過(guò)程就是字節(jié)碼解析的等效過(guò)程,輸出的是執(zhí)行結(jié)果待榔,對(duì)于執(zhí)行引擎來(lái)講突想,活動(dòng)線程中,只有棧頂?shù)臈怯行У木孔ィQ為當(dāng)前棧幀猾担,這個(gè)棧幀所關(guān)聯(lián)的方法稱為當(dāng)前方法。執(zhí)行引擎所運(yùn)行的所有字節(jié)碼指令都是針對(duì)當(dāng)前棧幀進(jìn)行操作刺下。

運(yùn)行時(shí)數(shù)據(jù)區(qū):主要有方法區(qū)绑嘹、堆、Java棧橘茉、PC寄存器工腋、本地方法棧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畅卓,一起剝皮案震驚了整個(gè)濱河市擅腰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌翁潘,老刑警劉巖趁冈,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡渗勘,警方通過(guò)查閱死者的電腦和手機(jī)沐绒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)旺坠,“玉大人乔遮,你說(shuō)我怎么就攤上這事∪∪校” “怎么了蹋肮?”我有些...
    開(kāi)封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)璧疗。 經(jīng)常有香客問(wèn)我坯辩,道長(zhǎng),這世上最難降的妖魔是什么病毡? 我笑而不...
    開(kāi)封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任濒翻,我火速辦了婚禮屁柏,結(jié)果婚禮上啦膜,老公的妹妹穿的比我還像新娘。我一直安慰自己淌喻,他們只是感情好僧家,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著裸删,像睡著了一般八拱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涯塔,一...
    開(kāi)封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天肌稻,我揣著相機(jī)與錄音,去河邊找鬼匕荸。 笑死爹谭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的榛搔。 我是一名探鬼主播诺凡,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼践惑!你這毒婦竟也來(lái)了腹泌?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤尔觉,失蹤者是張志新(化名)和其女友劉穎凉袱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體侦铜,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绑蔫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年运沦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片配深。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡携添,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出篓叶,到底是詐尸還是另有隱情烈掠,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布缸托,位于F島的核電站左敌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏俐镐。R本人自食惡果不足惜矫限,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望佩抹。 院中可真熱鬧叼风,春花似錦、人聲如沸棍苹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)枢里。三九已至孽鸡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間栏豺,已是汗流浹背彬碱。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奥洼,地道東北人巷疼。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像溉卓,于是被迫代替她去往敵國(guó)和親皮迟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子桑寨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 內(nèi)存溢出和內(nèi)存泄漏的區(qū)別 內(nèi)存溢出:out of memory伏尼,是指程序在申請(qǐng)內(nèi)存時(shí),沒(méi)有足夠的內(nèi)存空間供其使用尉尾,...
    Aimerwhy閱讀 741評(píng)論 0 1
  • 前言 寫這篇文章的目的: 總結(jié)所學(xué)的 JVM 知識(shí) 幫助想了解 JVM 的朋友爆阶,知無(wú)不言,言無(wú)不盡 本篇文章將會(huì)介...
    SavySoda閱讀 4,951評(píng)論 11 105
  • 黑夜入人心,從毛孔慢慢溢出來(lái)辨图。 三年前班套,認(rèn)知里的真和愛(ài)崩塌,變成虛偽變成恥辱故河,再?zèng)]有堅(jiān)定不移相信的東西吱韭。變得脆弱膽...
    阿采桑子閱讀 131評(píng)論 0 0
  • 一 對(duì)于上班時(shí)間這件事理盆,似乎沒(méi)有比這家公司更奇葩的了。雖說(shuō)一天的工時(shí)是七小時(shí)制凑阶,但實(shí)際情況是如何呢猿规,通過(guò)下面...
    韓馳冰閱讀 201評(píng)論 0 1
  • 毫不諱言,對(duì)待影視劇的態(tài)度宙橱,我有點(diǎn)崇洋媚外姨俩。一直對(duì)國(guó)產(chǎn)電影不大提得起興趣,即使從眾看過(guò)一些师郑,真能打動(dòng)我的...
    魅羅閱讀 1,309評(píng)論 3 5