前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >G1的一些概念一、概念解释二、参数学习

G1的一些概念一、概念解释二、参数学习

作者头像
阿杜
发布2018-08-06 10:46:23
4880
发布2018-08-06 10:46:23
举报
文章被收录于专栏:阿杜的世界

一、概念解释

  1. 分区(Region):G1将整个堆划分为同等大小的区块,一个分区可以是年轻代(Eden、Survivor)、也可以是老年代分区;G1是基于一个分区进行垃圾收集的。
  2. 对象的年龄(Object Aging):存活对象所经历过的年轻代收集的总次数;
  3. 浮动垃圾:少量死的对象在某次GC后可能还没被回收,这种死了的对象叫做floating garbage。
  4. CSet:一系列分区的集合,也是在垃圾收集过程中被回收的目标
  5. RSet:记录从其他分区指向当前分区的引用,本质上数据结构是一个hash table
  6. mutator线程:在垃圾收集器的术语中被称为Java应用线程
  7. SATB:Snapshot At the Beginning,是GC开始时活着的对象的一个快照,是G1 GC的理论基础
  8. 年轻代收集(young gc):CSet里全部都是年轻代分区的收集
  9. 混合收集(mixed gc):CSet里包括年轻代分区和一部分老年代分区的收集
  10. 混合收集周期:混合收集可能不止一个,多个混合收集连续发生就组合成一个混合收集周期;
  11. G1中的垃圾收集过程:年轻代收集和混合收集交替进行,背后有全局的并发标记周期在进行。当老年代分区占用的空间达到或超过IHOP值,就会触发并发标记周期。
  12. 并发周期
  • 初始标记(STW):标记处根集合可直达的对象;
  • 并发标记:递归扫描整个堆里的对象图,包括SATB中写栅栏记录的引用;
  • 重新标记(STW):处理所有剩下的SATB日志缓冲区和所有更新,也会在这里处理弱引用;
  • 清除(STW):识别所有空闲分区、整理堆分区,为混合收集识别出高效的老年代分区;RSet梳理

二、参数学习

  1. -XX:InitiatingHeapOccupancyPercent:在G1中,IHOP的值是老年代空间占Java堆总空间的比例
  2. -XX:G1MixedGCCountTarget:一个混合收集周期中包含多少次混合收集
  3. -XX:G1HeapWastePercent:堆浪费百分比,当G1发现可被回收的空间小于5%时,就不会再进行混合收集,也就是会结束当前的混合收集周期
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概念解释
  • 二、参数学习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档