JVM Specification(JVM規範)對JVM內存的描述
JVM specification 對JVM 內存的描述
首先我們來了解JVM specification 中的JVM 整體架構。如下圖:
主要包括兩個子系統和兩個組件:
Class Loader(類裝載器)子系統, Execution Engine(執行引擎)子系統;
Runtime Date Area(運行時數據區域)組件, Native Interface(本地接口)組件;
Class loader 子系統的作用:
根據給定的全限定名類名(如java.lang.Object)來裝載class 文件的內容到Runtime data area 中的method area(方法區域)。Javsa 程序員可以extends java.lang.ClassLoader 類來寫自己的Class loader。
Execution engine 子系統的作用:
執行classes 中的指令。任何JVM specification 實現(JDK)的核心是Execution engine, 換句話說:Sun 的JDK和IBM 的JDK 好壞主要取決於他們各自實現的Execution engine 的好壞。每個運行中的線程都有一個Execution engine 的實例
Native interface 組件:
與native libraries 交互,是其它編程語言交互的接口。
Runtime data area 組件:這個組件就是JVM 中的內存。
Jan 18th, 2016