模型服务连接失败

堆内存的作用是什么?主要有哪些部分?

并发Java
分类
Java JVM
难度
未设置
来源数
1
更新时间
2026/03/29 01:13

答案

Java中堆内存主要进行对象数据的存储,是一个线程共享的内存,它可以是物理上不连续、逻辑上连续的一块存储空间。会报OOM。它主要包括以下几个部分: + 年轻代:包括伊甸园区、幸存者0区和幸存者1区。年轻代是大部分新创建的对象存放的地方,当年轻代被对象放满时,会触发minor gc,并且将from区的对象移动到to区,并把这些对象的分代年龄+1,如果分代年龄超过一定的阈值,默认为15,该对象则会晋升到老年代。三个区域的比例默认是8:1:1 + 老年代:老年代通常存储分代年龄超过阈值的对象和大对象,当老年代存满时,会触发major gc,相比minor gc耗费时间更长。 + 方法区

相关题目(5)

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(JVM).md

knowledge_note
Question 17: 堆内存的作用是什么?主要有哪些部分? Source answer: Java中堆内存主要进行对象数据的存储,是一个线程共享的内存,它可以是物理上不连续、逻辑上连续的一块存储空间。会报OOM。它主要包括以下几个部分: + 年轻代:包括伊甸园区、幸存者0区和幸存者1区。年轻代是大部分新创建的对象存放的地方,当年轻代被对象放满时,会触发minor gc,并且将from区的对象移动到to区,并把这些对象的分代年龄+1,如果分代年龄超过一定的阈值,默认为15,该对象则会晋升到老年代。三个区域的比例默认是8:1:1 + 老年代:老年代通常存储分代年龄超过阈值的对象和大对象,当老年代存满时,会触发major gc,相比minor gc耗费时间更长。 + 方法区 Reviewed answer: 堆是线程共享的对象存储区域,主要用于存放对象实例。常见划分包括新生代、老年代,以及从规范角度独立存在的方法区;新生代通常包含Eden和两个Survivor区。