小编典典

年轻一代的垃圾收集问题

java

当伊甸园空间年轻时已满,将触发次要GC。在次要GC过程中,伊甸园和一个源Survivor空间中的非自由对象将被复制到另一个目标Survivor空间。

我的问题是,如果目标“幸存者”空间已满,次要GC如何处理?


阅读 169

收藏
2020-11-23

共1个答案

小编典典

如果不可能执行/完成次要收集,则将执行主要/完整收集。通常使用标记扫描紧凑算法而不是复制算法来完成此操作……这是完整收集昂贵的原因之一。

但是最终(如果您继续填充堆)一个完整的集合将无法回收足够的空间以继续进行,并且将引发OOME。(或者,如果使用-XX:+UseGCOverheadLimit,则在GC中花费的时间百分比超过指定的阈值时,将引发OOME。)

2020-11-23