曹耘豪的博客

JVM之内存模型

  1. 堆内存 - 最大
  2. 方法区
  3. 栈 - 线程私有
  4. 本地方法栈
  5. 直接内存

堆内存 - 最大

存放对象实例,几乎所有的对象实例都在这里分配内存。

方法区

存类信息、常量、静态变量、即时编译器编译后的代码等数据。

栈 - 线程私有

每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表操作栈动态链接方法出口等信息。

本地方法栈

直接内存

   / 
  ,