[HotSpot VM] 请教G1算法的原理

有哪位大大能详细介绍一下G1算法的原理吗,看了“Garbage-First Garbage Collection”这篇论文,但感觉还是没有搞懂,比如2.2节开头说每个region都对应一个remembered set(以下简称rs),该rs记录所有可能包含指向当前region的指针的位置(which indicates all locations that might contain pointers to (live) objects within the region),但从下文看我怎么觉得rs中记录的应该是那些包含inter-region的指针的位置呢。另外每个collector线程都有一个remembered set log,它和region的rs是什么关系。然后又还有全局的filled RS buffers,等等等等,真的感觉有些乱了。而且论文中作者配的两个介绍原理的图实在太潦草了,完全没有说清楚。

不知有哪位大大搞懂了吗,能否详细解释一下整个算法的过程,谢谢。
共 29 条回复