Java 的 JVM 内存模型是用来描述 Java 程序如何在虚拟机上分配和使用内存的。它由四个部分组成:堆、栈、方法区和本地方法栈。
堆是 JVM 中最大的内存区域,用于存储对象实例。所有的对象实例都在堆中分配内存。堆是所有线程共享的。
栈是每个线程私有的内存区域,用于存储局部变量、方法调用和操作数。每个方法调用都会创建一个新的栈帧,用于存储方法的局部变量、操作数和返回地址。
方法区是 JVM 的一部分,用于存储类信息、常量、静态变量和即时编译器编译后的代码。
本地方法栈与栈类似,但是它用于执行本地(native)方法,本地方法是指调用本地(非 Java)库的方法。
JVM 还有一