2020-11-30:java中,卡表和记忆集的区别?

2023-07-30,,

福哥答案2020-12-04:
[答案来自此链接:](http://bbs.xiangxueketang.cn/question/530)
这两个都是G1收集器中的概念
记忆集,RemeberSet,用来记录外部指向本Region的所有引用,每个Region内都会维护一个,因此G1收集器相对而言比较消耗内存的原因就在这里,它需要约5~10%的空间维护记忆集。
卡表,CardTable,专门用来记录老年代中引用了新生代对象的引用,每张Region在卡表中对应一个比特位,当老年代中的某个对象持有了新生代对象的引用时,JVM就把这个对象对应的Region标记为dirty(bit位设置为1),这样在Minor GC时就不用扫描整个老年代,而是扫描Region为Dirty对应的那些内存区域。

2020-11-30:java中,卡表和记忆集的区别?的相关教程结束。

《2020-11-30:java中,卡表和记忆集的区别?.doc》

下载本文的Word格式文档,以方便收藏与打印。