スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.3350
プログラムの実行中、動的に確保されたメモリ領域のうち、不要になった領域を自動的に検出し、再度利用できるように解放する機能はどれか。

【正解の解説】

ガベージコレクション

まるで優秀な家政婦さんが、部屋の中で散らかった飲み終わりのペットボトルや食べ終わったお菓子の袋を勝手に片付けてゴミ箱に捨ててくれるようなものです。プログラマーが自分でゴミ捨て(メモリ解放)のコードを書き忘れても、システムが自動で掃除してくれるため、メモリ不足によるプログラムのクラッシュを防ぐことができます。

スポンサーリンク

【その他の選択肢の解説】

メモリリーク

ガベージコレクションが「自動でゴミを片付けてくれる機能」であるのに対し、メモリリークは「ゴミを片付けずに部屋の中にずっと放置し続けた結果、足の踏み場がなくなる状態」を指します。どちらもメモリに関する用語ですが、自動解放の「仕組み」なのか、解放忘れという「バグ」なのかという決定的な違いがあります。

デフラグメンテーション

本棚の本がバラバラに散らかっている状態を整理整頓して、隙間なくきれいに並べ直す作業に似ています。メモリ(主記憶)の不要なゴミを片付けるガベージコレクションとは異なり、ストレージの整理整頓を行うための機能であるため、この問題の答えとしては適切ではありません。

ページング方式

大きな荷物をそのまま置くのではなく、細かく区切られたロッカーに効率よく荷物を収納していくような仕組みです。メモリの管理方法を指す言葉としては正解ですが、不要になった領域を「自動で検知して解放する」というゴミ掃除の機能を表すものではないため、初学者はガベージコレクションと混同しないよう注意が必要です。