JVM体系结构如下图所示:
JVM大致可以分为五大模块:
- 类加载子系统(Class Loader SubSystem)
- 运行时数据区(Runtime Data Area)
- 执行引擎(Execution Engine)
- Java本地接口(Java Native Interface 即JNI)
- 垃圾回收(Garbage Collection)
下面来个彩色的简图:
运行时数据区(Runtime Area)共分为方法区(Method Area)、堆(Heap)、栈(Stack)、本地方法栈(Native Method Stack)和程序计数器(Program Counter Register,有的人也称为PC寄存器,PC Register)。
方法区是一种特殊的堆,而方法区和