我说的是UseParNewGC。我对java gc minor集合的理解是这样的。当jvm检测到eden已满(或者它无法满足分配请求时)
完全正确吗?是否存在即使伊甸园未满也会触发次要gc的情况?
答案 0 :(得分:1)
我认为你的流程正确。在某些情况下,由于完整的伊甸园空间以外的原因而触发了主要的GC,例如调用System.gc()
或RMI。在这种情况下,还将运行次要GC。
答案 1 :(得分:0)
当jvm检测到eden已满(或者无法满足分配请求时) 在某种程度上,是的。但它动态调整生成大小以满足收集器的某些目标。主要是暂停时间和在GC中花费的CPU时间的一小部分。
间接地,这些目标决定了小集合的发生频率。主要收藏品也可能在它们运行之前触发次要收藏,以减少对短期年轻人的旧物品的引用。