JVM 组成部分
JVM可以分為3大部分:類(lèi)加載器,運(yùn)行時(shí)數(shù)據(jù)區(qū)和執(zhí)行引擎。
類(lèi)加載器負(fù)責(zé)加載.class 文件
運(yùn)行時(shí)數(shù)據(jù)區(qū)負(fù)責(zé)存放.class 文件,分配內(nèi)存。運(yùn)行時(shí)數(shù)據(jù)區(qū)又分為5個(gè)部分:
- 方法區(qū):負(fù)責(zé)存放.class 文件,方法區(qū)里有一塊區(qū)域是運(yùn)行時(shí)常量池,用來(lái)存放程序的常量。
- 堆:分配給對(duì)象的內(nèi)存空間。
- java虛擬機(jī)棧:每個(gè)線程獨(dú)享的內(nèi)存空間。
- 本地方法棧:本地方法獨(dú)享的內(nèi)存空間。
- 程序計(jì)數(shù)器:記錄線程執(zhí)行的位置,方便線程切換后再次執(zhí)行。
執(zhí)行引擎:.class文件是jvm的一套指令集規(guī)范,并不能直接交個(gè)底層操作系統(tǒng)去執(zhí)行,因此需要特定的命令解析器?執(zhí)行引擎(Execution Engine)?將字節(jié)碼翻譯成底層系統(tǒng)指令再交由CPU去執(zhí)行,
JVM內(nèi)存模型
總結(jié)
- 上一篇: 招行现金分期怎么申请 招行现金分期申请不
- 下一篇: 苹果赢麻了!5月国内手机市场iPhone