|
|
ガベージコレクタ(garbage collector, GC)とは、プログラムが動的に確保したメモリのうち、使わなくなったメモリを回収する仕組みである。ゴミ集め。
また、その動作のことをガベージコレクション(garbage collection)という。
ガベージコレクタを導入することによって、動的に確保したメモリ領域の全てをプログラマが明示的に 管理する必要がなくなり、ミスによるメモリリークを抑える有効な手段となる。
また、明示的な管理が必要な状態では利用しづらいプログラミングスタイルを とることが容易になる。 (サブルーチン内で動的に確保されたオブジェクトを呼び出し元に戻す、型変換などのために一時的な オブジェクトを生成するなど)
不要になったメモリ領域を検出するアルゴリズムには、以下のようなものがある。
実装
ガベージコレクタの実装には、言語に組み込まれたものと、
ライブラリとして提供されるものがある。GCを実装した言語の例