G1GC相当复杂,一篇文章的话很难说清楚,并且长篇冗杂,难读。本文旨在将G1GC中的部分点Get到,也很难全面,如果错误,请帮忙指正,多谢。
一、G1GC的目的
针对服务器应用(大heap内存、多核)进行垃圾收集,为了同时兼顾吞吐量和停顿时间而生。
二、特点
分区、分代、适用多核大heap内存、高吞吐、低停顿
三、如何实现对吞吐量和停顿时间的兼顾
1、技术手段
1)region划分
将整个heap划分为大小相等的region,每个region内的heap内存地址连续。
2)停顿时长预测模型
通过该模型来确定回收哪些region,以满足用户指定的可停顿时间。
3)并发全局标记
和应用程序并发执行,标记整个heap中存活对象。
4)Garbage-First
优先回收垃圾最多的region,以获取最大空间释放。
5)拷贝压缩
具体回收时,将Object从一个或多个region拷贝到单个heap region上,并对内存进行压缩整理。这一过程多线程并行执行,因此可减小停顿时间并提高吞吐量。
2、具体过程
1)region划分
将整个heap划分为大小相等的r

G1GC是一种针对服务器应用的垃圾收集器,旨在同时优化吞吐量和停顿时间。它通过region划分、并发全局标记、Garbage-First策略等技术实现这一目标。文章介绍了G1GC的主要特点、工作原理,包括初始标记、并发标记、重标记等阶段,以及Remembered Set和Collection Set的数据结构。G1GC的并发优化线程和并发并行执行策略确保了高效运行。
最低0.47元/天 解锁文章
829

被折叠的 条评论
为什么被折叠?



