文章目录 JVM内存图堆(Heap)栈(Stack)(虚拟机栈)方法区(Method Area) 一个对象内存图三个对象内存图 JVM内存图 堆(Heap) 此内存区域的唯一目的是存放对象实例,几乎所有的对象实例都在这里分配内存。 JVM虚拟机规范中描述:所有的对象实例以及数组都要在堆上分配。 栈(Stack)(虚拟机栈) 用于存储局部变量等。方法执行完,自动释放。 方法区(Method Area) 用于存储被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。 一个对象内存图 三个对象内存图 3个对象,其中有两个引用指向同一个对象