Skip to content

2.5.2 - 代际GC(Generational Garbage Collection)

在代际模式中,收集器频繁进行*次代(minor)收集,其仅遍历最近创建的对象。如果在进行了次代收集后内存仍然超出了限制,那么收集器会做一次“世界暂停(stop-the-world)”的主(major)*收集,其会遍历所有的对象。代际模式使用两个参数:次代乘数(minor multiplier)以及主乘数(major multiplier)

次代乘数用以控制次代回收的频率。对于一个次代乘数值x,会在内存相对于上次主收集后增长超过x%时开始一轮新的次代收集。例如乘数为20时,收集器将会在内存增长超过上次主收集时的20%时执行一轮次代收集。其默认值是20,最大为200。

主乘数用以控制主会后的频率。对于一个主乘数值x,会在内存相对于上次主收集后增长超过x%时开始一轮新的主收集。例如乘数为100时,收集器将会在内存使用量超过上次的两倍时执行一轮主收集。其默认值是100,最大为1000。