Javaやプログラム言語に興味のある方なら、garbage collection (ガーベージコレクション, GC) という 仕組みのことを聞いたことがあると思います。
表記揺れ: Wikipediaではガベージコレクション. @IT, e-words.jpではガーベジコレクション. 他,ガーベッジコレクションなど.
GCは、 プログラムが作ったオブジェクト(Javaの場合はnewした領域)のうち、 「もういらなくなったもの」(=garbage)を自動的に消してくれます。 もう少し詳しい人なら、それは便利だけどプログラムを遅くするらしい ということも知っているでしょう。
ここでは、GCのからくりや、なぜ遅い(と言われている) のかについて解説します。 基本アルゴリズムだけでなく、世代別アルゴリズム などの少しマニアックな解説もします。 ある程度プログラミングに関する知識があった方が理解が早いでしょう。 (簡単なプログラムの読書きができて、ポインタ、スタック、ヒープ... などの意味を知っている程度)
この文書は、以前に東京大学情報科学科の情報科学演習IIのために
作ったレジュメです。
一般教養としてのGarbage Collection
(PDF format)
2000年10月に GC分野の国際会議であるISMM(International Sysmposium on Memory Management) に出席させて頂きました。 会議の雰囲気と発表論文の(私見のかなり入った)紹介です。
ISMM2000報告 (PDF format)