增量式垃圾回收(Incremental GC)是一种通过逐渐推进垃圾回收来控制 mutator 最大暂停时间的方法。

通常的 GC 处理很繁重,一旦 GC 开始执行,不过多久 mutator 就没法执行了,这是常有的事。也就是说,GC 本来是从事幕后工作的,可是它却一下子嚣张起来,害得 mutator 这个主角都没法发挥作用了。我们将像这样的在执行时害得 mutator 完全停止运行的 GC 叫作停止型 GC 。停止型 GC 的示意图如图 8.1 所示。

GC 增量式垃圾回收_GC

根据应用程序(mutator)的用途不同,有时停止型 GC 是很要命的。

因此人们想出了增量式垃圾回收这种方法。增量(incremental)这个词有“慢慢发生变化”的意思。就如它的名字一样,增量式垃圾回收是将 GC 和 mutator 一点点交替运行的手法。增量式垃圾回收的示意图如图 8.2 所示。

GC 增量式垃圾回收_增量式_02

本文整理自:​​《垃圾回收的算法与实现》​

个人微信公众号:

GC 增量式垃圾回收_垃圾回收_03

作者:jiankunking