このページの本文へ

なれる!SE 間違いだらけの?IT用語辞典(中二版) 第21回

悪に憧れる中二病マインドを刺激するIT用語

2013年06月27日 18時00分更新

  • この記事をはてなブックマークに追加
  • 本文印刷

回答編


ガベージコレクションは使われていないメモリをクリアして、他のアプリに使わせる機構のことね。本来プログラムのメモリは明示的に解放しないと占有され続けるから、それをいちいち人間が操作しないでいいようにするためのものよ。


使われていないメモリなら他のアプリケーションが自由に使えるんじゃないですか? わざわざ解放する必要があるんです?


あるのよ。そもそもプログラムって使うメモリ量と期間を考えて実行させるものだから。今から何バイトメモリを占拠しまーす! って宣言しないと処理一つ動かせないの。で、たまに解放処理を忘れると使われていないメモリがどんどんたまっていく。これがすなわちメモリリークね。


ああ、それ知ってます。OSのメモリ使用量がどんどん上がってって、再起動しなきゃダメになって、『一体なぜ?』と思ったらアプリがメモリリークしてましたっていう。


そうそう。で、そういうことを避けるためにあるのがガベージコレクションね。ちなみにガベージコレクションを行うモジュールのことをガベージコレクタと呼ぶ。直訳するとゴミ収集者


ご、ゴミ収集ですか!? いや……使われてないメモリを回収するなら意味的にあってますけど……ええええ。


まぁ悪のマフィア『ゴミ収集者』じゃしまらないわよね。


……いや、もうそうこらへんのギャップは慣れたので諦めます。ちなみにガベージコレクションの存在が一般的ならメモリリークって起きないはずですよね? でも時々バグレポートとかでまだ見かけるんですけど。


ガベージコレクタって要はプログラムだからね。それを動かすためにもCPUやリソースを消費するのよ。パフォーマンス確保するためのプログラムでPC重くなったら本末転倒でしょ? だからリアルタイム性の高いプログラムなどではガベージコレクタを使わず手動でメモリ管理することもある。


その結果、解放忘れてメモリリーク起こすってことですか?


ま、そういうこともあるわね。


……色々面倒くさいですね。


面倒くさい話だからこそ、そのあたりを根本的に解決できればビジネスチャンスかもよ? あんたの大好きなお金がガッポガッポ。


!! 室見さん、僕ちょっとプログラミングの勉強をすることにしました。今日から始めようと思いますんでご指南お願いできますか?


そう? じゃあとりあえずこの教材使ってみたらどうかしら。簡単な要件とテストケースが書いてあるから。あんたでも頑張ればできると思う。


ありがとうございます! よぉしやるぞー!(自席に戻り激しくタッチタイプし始める)


……あれ? 室見さん、さっきお願いしたコーディングの仕事、桜坂君がやってるの?


なんか本人やる気みたいだったんでー。任せちゃいましたー。


イエーイ! 夢はでっかくIT億万長者! ヤッフー!(遠ざかる打鍵音、フェイドアウト)


【解説】

ガベージコレクション
使用されていないメモリを自動的に回収・解放すること。本来プログラマが明示的に行わなければいけないメモリ管理を省力化する。反面CPUリソースを消費するため、高負荷なプログラムとの併用時は注意が必要。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン