JVM调优那些事(四)G1与三色标记算法

本文介绍了G1垃圾回收器的内存分代模型、垃圾回收触发顺序,重点讨论了三色标记法及其在并发标记过程中的问题与解决策略,包括incremental update和SATB。G1的动态内存管理和Mixed GC机制使其在大内存环境中表现出色。
摘要由CSDN通过智能技术生成

前言

在之前的这篇文章中,我们已经介绍了几种常见的垃圾回收器的组合。

这些垃圾回收器虽然实现上各有不同,但有一点是相同的——都是基于物理上的内存分代模型。

也就是内存中青年代和老年代的比例都提前固定了,并且必须是连续的内存地址空间。

但随着内存的不断变大,任何已经介绍过的垃圾回收器都很难在特别大的内存中保证性能。

传统的垃圾回收器的内存模型已经很难跟得上硬件的发展了,这个时候就需要介绍一个新的垃圾回收器——G1垃圾回收器

G1垃圾回收器打破了之前物理内存分代的传统模型,通过将内存分为大小相同的小单元进行管理,提升GC的性能。

下面我们先来介绍G1基本的运行原理.

G1的底层结构

G1将内存划分为大小一致(1M ~ 32M)的小块内存,我们称每块内存为region

这些region可以属于不同的内存分代,可以是老年代、Eden区、Survivor区,或者是H区用来代表大对象。如下图所示:

在这里插入图片描述
与这个底层内存结构相适应的有两个概念需要记住,分别是CSetRSet

CSet:也叫Collection Set,这个set中装着需

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值