JVM的内存模型

JVM的内存模型分为一下几个区域:

  • 程序计数器:
  • Java虚拟机栈:
  • 本地方法栈:类似于Java虚拟机栈,面向的是 Native 本地方法(如JNI)
  • 堆:也叫Java堆,唯一的目的就是存放对象实例。
  • 方法区:

  • 常量池表:用于存放编译期生成的各种字面量与符号引用。
  • 运行常量池:属于方法区的一部分,用于存储编译期间生成的各种字面量和符号引用,这些内容在类加载后进入常量池中。

其中程序计数器、虚拟机栈、本地方法栈是线程私有的。而堆、方法区、运行时常量池是线程共享的。