テクノロジ系ソフトウェア
ガベージコレクションとは?
読み方: がべーじこれくしょん
1行定義
プログラムが不要になったメモリ領域を自動的に検出・解放する仕組み。メモリリークを防ぎ開発者の負担を軽減する
詳細解説
ガベージコレクション(Garbage Collection、GC)は、プログラムが動的に確保したメモリ領域のうち、どこからも参照されなくなった不要な領域(ガベージ=ゴミ)を自動的に検出し、解放する仕組みです。C言語のように手動でメモリ解放(malloc/free)を行う言語では、解放忘れによるメモリリーク(使われないメモリが蓄積してシステムが不安定になる問題)が発生しやすいですが、ガベージコレクションを持つ言語(Java・Python・Ruby・Go・C#など)では自動でメモリ管理が行われます。代表的なGCアルゴリズムには、参照カウント方式(参照数がゼロになったオブジェクトを解放)とマーク&スイープ方式(ルートから到達可能なオブジェクトをマークし、未マーク領域を解放)があります。GCは開発効率を高めますが、GCが動作する際に処理が一時停止する「ストップ・ザ・ワールド」問題があります。
ITパスポートでの出題ポイント
- 1ガベージコレクションの目的(不要メモリの自動解放・メモリリーク防止)
- 2参照カウント方式とマーク&スイープ方式の違い
- 3GCを持つ言語の例(Java・Python等)とメリット・デメリット
関連用語
シラバス 6.5 準拠 / 最終更新: 2026-05-26