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

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

福大大架构师每日一题 文章被收录于专栏

最新面试题,针对高级开发人员和架构师。内容是后端、大数据和人工智能。

全部评论

相关推荐

评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务