《JVM G1 源码分析和调优》笔记
:::info
💡 根据 遗忘曲线:如果没有记录和回顾,6天后便会忘记75%的内容
读书笔记正是帮助你记录和回顾的工具,不必拘泥于形式,其核心是:记录、翻看、思考
:::
书名 | JVM G1 源码分析和调优 |
---|---|
作者 | 彭成寒 |
状态 | 已读完 |
简介 | 详细分析 G1 基本运行原理和调优方法 |
思维导图
用思维导图,结构化记录本书的核心观点。
解释
https://www.jianshu.com/p/6b7d1bf03d84
Card Table & RSet
介绍完了CardTable,下面说说G1中RSet和CardTable如何配合工作。
每个区域中都有一个RSet,通过hash表实现,这个hash表的key是引用本区域的其他区域的地址,value是一个数组,数组的元素是引用方的对象所对应的Card Page在Card Table中的下标。
如下图所示,区域B中的对象b引用了区域A中的对象a,这个引用关系跨了两个区域。b对象所在的CardPage为122,在区域A的RSet中,以区域B的地址作为key,b对象所在CardPage下标为value记录了这个引用关系,这样就完成了这个跨区域引用的记录。
相关资料
https://github.com/chenghanpeng/jdk8u60