在Java中,ZGC的重新定位集与G1的集合集有什么不同?我学习JAVA的垃圾收集,并对此感到不确定。
发布于 2020-02-28 16:45:39
Collection Set是G1认为需要进一步研究的区域。G1,在mark阶段,将计算每个区域的一些元数据,其中一个元数据信息是每个区域中存在多少元数据。它还知道在上一次运行中回收每个区域中的死对象所花费的时间。为了达到超时的目标,它选择垃圾最多的区域并对它们进行处理。这些区域被称为:collection set。
Relocation Set基本上是一样的,至少在逻辑上是这样的。ZGC选择垃圾最多的区域(他们称之为pages)。它首先在停止世界事件下重新定位GC根,然后并发地遍历这个Relocation Set。
因此,从本质上说,它们在逻辑上接近于同一事物,因为这些GC所做的事情非常不同,这就是它们的相似之处所在,IMO。
https://stackoverflow.com/questions/60447211
复制相似问题