ガベージコレクションのアルゴリズムと実装 第7章「世代別GC(Generational GC)」前半

ガベージコレクションのアルゴリズムと実装

ガベージコレクションのアルゴリズムと実装

今日は第7章前半を読みました。

  • 世代別GC
    • 多くのオブジェクトは短い寿命しかもっていないという経験則を元にして、若いオブジェクトだけGC(Minor GC)を頻繁に行ない、長寿命のオブジェクトのGC(Major GC)の頻度を下げてスループットを上げる
    • 旧世代オブジェクトから新世代オブジェクトへの参照は「記憶集合」に参照元の旧世代オブジェクトを格納しておくことで効率的にマークできるようにする
    • 記憶集合を管理するために必要な仕組みが Write Barrier。オブジェクトに参照を付ける時に実行する
    • 記憶集合の空間効率を良くするための手法。旧世代領域を小区間に分割してその単位で新世代への参照があるかどうかをマークする
      • カードマーキング
      • ページマーキング