JVM基本結(jié)構(gòu)

image.png

PC寄存器

  • 每一個線程擁有一個PC寄存器
  • 在線程創(chuàng)建時創(chuàng)建
  • 指向下一條指令的地址
  • 執(zhí)行本地方法時揍鸟,PC的值為undefined

方法區(qū)

  • 保存裝載的類信息流强,常量犀呼,常量池,即時編譯器編譯后的代碼等數(shù)據(jù)
    • 類的版本
    • 字段
    • 方法
    • 接口
  • 通常和永久區(qū)關(guān)聯(lián)在一起
  • 垃圾回收在方法區(qū)的行為
  • 異常的定義

    JDK6時鸿竖,String等常量信息置于方法區(qū)
    JDK7時沧竟,已經(jīng)移到了堆

Java堆

  • 和程序開發(fā)密切相關(guān)
  • 應(yīng)用系統(tǒng)對象都保存在Java堆中
  • 所有線程共享Java堆
  • 對分代GC來說,堆也是分代的
  • GC的主要工作區(qū)間
image.png

Java棧

  • 基本類型缚忧、運算,指向堆內(nèi)存的指針
  • 線程私有杈笔,其生命周期和線程相同
  • 棧由一系列幀組成
  • 幀保存一個方法的局部變量闪水、操作數(shù)棧、常量池指針
  • 每一次方法調(diào)用創(chuàng)建一個幀蒙具,并壓棧

Java虛擬機棧

  • 虛擬機棧描述的是Java方法執(zhí)行的動態(tài)內(nèi)存模型

  • 棧幀

    • 每個方法執(zhí)行球榆,都會創(chuàng)建一個棧幀,伴隨著方法從創(chuàng)建到執(zhí)行完成禁筏。用與存儲局部變量表持钉,操作數(shù),動態(tài)鏈接篱昔,方法出口等
  • 局部變量表

    • 存放編譯器可知的各種基本數(shù)據(jù)類型每强,引用類型,returnAddress類型
  • 大小

  • StackOverFlow

本地方法棧

  • 虛擬機棧為虛擬機執(zhí)行Java方法服務(wù)
  • 本地方法棧為虛擬去執(zhí)行native方法服務(wù)

程序計數(shù)器

  • 是一個非常小的內(nèi)存空間州刽,它可以看作是當前線程所執(zhí)行的字節(jié)碼的行號指示器空执。
  • 程序計數(shù)器處于線程獨占區(qū)
  • 如果線程執(zhí)行的是Java方法,則計數(shù)器記錄的是正在執(zhí)行的虛擬機字節(jié)碼指令的地址穗椅。如果正在執(zhí)行的是nativie方法辨绊,則這個計數(shù)器的指為undefined
  • 此區(qū)域是唯一一個在Java虛擬機規(guī)范中沒有規(guī)定任何OutOfMemoryError情況的區(qū)域

對象的創(chuàng)建

JVM堆內(nèi)存

  1. JDK1.8之后


    image.png
  2. JDK1.8之前


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市匹表,隨后出現(xiàn)的幾起案子门坷,更是在濱河造成了極大的恐慌宣鄙,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件默蚌,死亡現(xiàn)場離奇詭異框冀,居然都是意外死亡,警方通過查閱死者的電腦和手機敏簿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門明也,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惯裕,你說我怎么就攤上這事温数。” “怎么了蜻势?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵撑刺,是天一觀的道長。 經(jīng)常有香客問我握玛,道長够傍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任挠铲,我火速辦了婚禮冕屯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拂苹。我一直安慰自己安聘,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布瓢棒。 她就那樣靜靜地躺著浴韭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脯宿。 梳的紋絲不亂的頭發(fā)上念颈,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機與錄音连霉,去河邊找鬼榴芳。 笑死,一個胖子當著我的面吹牛窘面,可吹牛的內(nèi)容都是我干的翠语。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼财边,長吁一口氣:“原來是場噩夢啊……” “哼肌括!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谍夭,失蹤者是張志新(化名)和其女友劉穎黑滴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體紧索,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡袁辈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了珠漂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晚缩。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖媳危,靈堂內(nèi)的尸體忽然破棺而出荞彼,到底是詐尸還是另有隱情,我是刑警寧澤待笑,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布鸣皂,位于F島的核電站,受9級特大地震影響暮蹂,放射性物質(zhì)發(fā)生泄漏寞缝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一仰泻、第九天 我趴在偏房一處隱蔽的房頂上張望荆陆。 院中可真熱鬧,春花似錦我纪、人聲如沸慎宾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至券犁,卻和暖如春术健,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粘衬。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工荞估, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稚新。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓勘伺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親褂删。 傳聞我的和親對象是個殘疾皇子飞醉,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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

  • 1. jvm運行數(shù)據(jù)區(qū) 1 PC寄存器 1.1 每個線程都有一個pc寄存器 1.2 在線程創(chuàng)建時創(chuàng)建 1.3 指向...
    IT小鮑閱讀 251評論 0 0
  • 一直對JVM的基本結(jié)構(gòu)很困惑,今天抽空整理下屯阀。 Java Virtual Machine的簡稱即Java虛擬機 虛...
    窩琶辶保狂奔閱讀 743評論 0 2
  • JVM基本結(jié)構(gòu) PC寄存器 線程私有 字節(jié)碼指令的行號指示器轴术,指向下調(diào)要執(zhí)行的指令地址 不會發(fā)生OOM 堆 和程序...
    忘凈空閱讀 815評論 0 0
  • JVM啟動流程 JVM基本結(jié)構(gòu) 1. PC寄存器 or 程序計數(shù)器(Program Counter Registe...
    舊時的榮耀閱讀 314評論 0 0
  • #困 有時候回想小學初中高中,發(fā)現(xiàn)自己陷入了沒有成就感沒有自信的深深自卑里钦无。小學初中高中逗栽,一向只能把老師教過的東西...
    蛋殼裂了閱讀 229評論 0 0