天天看點

GC 增量式垃圾回收

增量式垃圾回收(Incremental GC)是一種通過逐漸推進垃圾回收來控制 mutator 最大暫停時間的方法。

通常的 GC 處理很繁重,一旦 GC 開始執行,不過多久 mutator 就沒法執行了,這是常有的事。也就是說,GC 本來是從事幕後工作的,可是它卻一下子嚣張起來,害得 mutator 這個主角都沒法發揮作用了。我們将像這樣的在執行時害得 mutator 完全停止運作的 GC 叫作停止型 GC 。停止型 GC 的示意圖如圖 8.1 所示。

GC 增量式垃圾回收

根據應用程式(mutator)的用途不同,有時停止型 GC 是很要命的。

是以人們想出了增量式垃圾回收這種方法。增量(incremental)這個詞有“慢慢發生變化”的意思。就如它的名字一樣,增量式垃圾回收是将 GC 和 mutator 一點點交替運作的手法。增量式垃圾回收的示意圖如圖 8.2 所示。

GC 增量式垃圾回收

本文整理自:​​《垃圾回收的算法與實作》​​

個人微信公衆号:

繼續閱讀