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