ガベージコレクション
garbage collection GC
ごみ集め。
メモリ管理手法の一つで、使用されなくなったメモリ領域を自動的に検出し破棄するアルゴリズムおよびその動作の総称。--CUE
- (もしそうだとすると)メモリ以外のリソースの開放については何も言ってないんですね。
- メモリ領域のサブクラス(藁)であるオブジェクトが破棄「される」ことを感知し、自分にまつわるリソースの開放も行なうように仕込んである、ということはしばしば有るね。 -戯
- 破棄「される」ことを感知する、というモデルを(十分に)サポートしてない言語も有る。Rubyとか。その開放される瞬間のオブジェクトに通知が来るわけじゃなく、別のところ(指定した手続きオブジェクト)に行くみたいな感じ(かな?)。
- 通知が来ることを必ずしも保証できない、という状況(GCアルゴリズム)も有るようだ。
- 通知が来た瞬間に「自分が知ってるほかのオブジェクト」が生きてる保証が無い(ので、ほかのオブジェクトの情報を活用しつつ自殺することが出来る保証もない)、という状況も。
- Rubyの通知の仕掛では、通知の中で生じた例外は最終的にゃ無視するそうな。例外起きても(しばしば)対処しようが無いし、上記理由により例外が起きないようにキチンとやれる保証も無い、ので(らしい)
- メモリだけなら、領域を潰せば済む(=回収の仕方が判りきってて、処理系に組み込んでおける)んだけど、プログラムでアクセスされる任意のリソースを片付ける(片付けさせる)手段を用意するのは、なかなか大変らしい。
このページを編集 (1257 bytes)
|
以下の 2 ページから参照されています。 |
This page has been visited 5647 times.