ガベージコレクションの話を続けよう。 前回の記事で、Objective-C 2.0のガベージコレクションの特徴を一言で言い表してみた。もう一度書いておこう。 Objective-Cのガベージコレクションは、保守的であり、マーク・アンド・スイープでコレクションを行い、コピーは行わず(ゆえにコンパクションも行わない)、世代別コレクションをサポートする と、なる。今回はこの文のうち、「マーク・アンド・スイープ」について説明しよう。 マーク・アンド・スイープとは ガベージコレクションは不必要なメモリを自動的に解放してくれる仕組みだが、そのためには、どのメモリ領域が必要で、どこが不必要(つまりゴミ)であるかを判断し、それらのゴミを回収しなくてはいけない。このゴミ集めのアルゴリズムが、ガベージコレクションの性能を決めることになる。 Objective-C 2.0で採用されているアルゴリズムは、マーク・