Java 对象如何存储在内存中?

java programming java 8object oriented programming更新于 2025/5/31 1:07:17

Java 内存模型分为线程堆栈(每个线程一个)和堆区域。

线程堆栈

它是线程特定的内存区域,包含局部变量、方法调用信息等。JVM 堆栈可以是固定大小或可变大小。如果线程中的计算超出其堆栈大小限制,则 JVM 抛出 StackOverflowError 并退出。

它包含在应用程序生命周期内创建的所有对象。堆是在虚拟机启动时创建的。垃圾收集器回收对象的堆存储,并且对象永远不会被明确释放。JVM 不使用任何自动存储管理系统,并且它可能根据系统要求而变化。堆可以是固定大小,也可能根据要求而变化。堆的内存不需要是连续的。

Java 内存模型

静态变量存储在堆区域,存储在堆上的对象可以通过存储在线程堆栈中的引用来引用。


相关文章