差分

ナビゲーションに移動 検索に移動

世代別ガベージコレクション

1,030 バイト追加, 2021年10月28日 (木) 02:33
ページの作成:「'''世代別GC'''(英語:generational garbage collection)とは、メモリ領域を複数の「世代」にわけて、それぞれ異なるガベージコ…」
'''世代別GC'''([[英語]]:generational garbage collection)とは、メモリ領域を複数の「世代」にわけて、それぞれ異なる[[ガベージコレクション]]の[[アルゴリズム]]を使用する方式である。

ほとんどは「[[コピーGC]]と[[マーク&スイープ]]のハイブリッド」である。このふたつは一長一短である。
{| class="wikitable"
|+
!
!コピー
!マーク&スイープ
|-
|ガベージコレクション自体の処理速度
|遅い
|速い
|-
|メモリ断片化(後のメモリ確保処理の速度)
|解消(速い)
|発生(遅い)
|}
そこでメモリ領域を「世代」に分けて、適している方を使うというものである。

メモリ確保直後はコピー方式の領域に格納され、長時間開放されないようならマーク&スイープ方式の領域に移される。

また「一定以上のメモリ確保」の場合は最初かららマーク&スイープ方式の領域に確保される。

案内メニュー