G1垃圾回收器

G1是一款面向服务端的垃圾收集器,以高概率满足停顿时间要求。它将堆内存划分为大小相等的Region,并采用Mixed GC策略,按需回收内存。G1通过初始标记、并发标记、最终标记和筛选回收四个步骤进行垃圾收集,并使用衰减均值模型预测停顿时间,确保低延迟。在并发标记过程中,G1使用原始快照算法保证准确性,同时处理并发时的对象引用变动。
摘要由CSDN通过智能技术生成
简介

G1 收集器是一款主要面向服务端应用的垃圾收集器,特点是以极高概率满足GC停顿时间的要求(可预测的停顿),同时具备高吞吐性能。

堆内存划分

虽然 G1 收集器也遵循分代收集理论,但其堆内存的布局与其他收集器有非常明显的差异:

  • G1 不再坚持固定大小和固定数量的分代区域划分,而是把连续的 Java 堆划分为约2048个个大小相等的分区(Region),每个 Region 都可以根据需要,扮演新生代的 Eden 空间、Survivor 空间,或者老年代空间。
  • Region 中还有一类特殊的 Humongous 区域,专门来存储大对象(大小超过一个 Region 容量的一半);而对于超过整个 Region 的超大对象,将会被存在 N 个连续的 Humongous Region 中(G1 的大多数行为都把 Humongous Region 作为老年代的一部分看待)。
  • 从分代上看,G1依然属于分代型垃圾回收器,它会区分年轻代和老年代,年轻代依然有Eden区和Survivor区。但从堆的结构上看,它不要求整个Eden区、年轻代或者老年代都是连续的,也不再坚持固定大小和固定数量。(一个region有可能属于Eden、Survivor、Old或者Humongous区域,但是一个region只可能属于一个角色)

G1 收集器的堆内存划分如图所示:

在这里插入图片描述

停顿
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值