G1的RSet和卡表


what:

  RSet是个空间换时间的数据结构,全称是Remembered set。RSet是Points-into(谁引用了我);而CMS中的Card Table (https://www.cnblogs.com/sfzlstudy/p/15429902.html)是一种Points-out(我引用了谁的对象)。

  RSet的key是引用本region中对象的Region起始地址,value是key对应Region中具体引用了的对象的卡片集合。

  每个Region默认按照512Kb划分成多个Card,所以RSet需要记录的东西应该是: xx Region的 xx Card。

 

 

绿色部分的Card表示该Card中有对象引用了其他Card中的对象,这种引用关系用蓝色实线表示

 

 

why:

  解决跨代引用问题,记录region之间的引用关系。从而可以通过本region的Rset快速找到存活的对象。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM