ガベージコレクション 【garbage collection】 ガベージコレクタ / garbage collector / GC

概要

ガベージコレクション(garbage collection)とは、コンピュータプログラム実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの。そのような処理を実行するプログラムを「ガベージコレクタ」(garbage collector)という。

従来のプログラムでは、実行時変数配列オブジェクトなどのためにメモリ領域を確保した後、プログラム中でこれを解放するコードが明示的に実行されるまでは占有したままとなる。その領域が不要になった後も、開発者がメモリ解放処理を怠るといつまでも塩漬け状態となり、空き領域が逼迫する要因となっていた。

ガベージコレクションは仮想マシンVM)などの言語処理系やライブラリの機能として提供され、実行中のプログラムの動作から不要になったと判断した領域を自動的に解放し、再確保できる空き領域に設定する。これにより、確保された領域への参照が失われ再利用不可能になってしまうメモリリークや、領域の二重解放、参照の無効化などを防止することができる。

ただし、プログラムの本来の処理を一旦中断してガベージコレクションが割り込む形となるため、応答速度などの条件がシビアなシステムではこれが問題となる場合がある。また、不要であると機械的には判断できずなかなか解放できない場合があるほか、解放処理がいつわれるのか開発者があらかじめ予見することが難しく、解放時に何らかの処理をいたい場合に困ることがある。

(2019.7.26更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる