为什么在次要GC时间缩短时伊甸园的大小会增加?

时间:2015-05-27 02:54:19

标签: java garbage-collection jvm

在博客中,我发现一句话说:当伊甸园的大小增加时,小型GC的时间会减少。 但在我看来,当Eden变大时,与GC根链接的对象数量也会增加,然后复制行为会更频繁,从而导致较小的GC时间。所以任何人都可以解释一下,thx~

1 个答案:

答案 0 :(得分:0)

两个次要GC之间的时间取决于用新对象填充Eden空间所需的时间 - 所以它的类似于(eden-size)/(object-creation-rate)。因此,Eden越大,两次GC运行之间的时间越长,对象就越有时间死亡。

另一方面,复制收集器使用的时间与要收集的垃圾量无关,但仅取决于要复制的活动对象的数量。在Eden-space中有更多物体死亡意味着可以将更少的物体复制到Survivor空间,从而减少花在小型GC上的时间。