Ruby 初心者スレッド Part 26
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
650:デフォルトの名無しさん 09/03/24 17:54:01 マーク&スイープ方式ってのは、ヒープ上にあるデータのうち、グローバル なデータ領域やスタックなど確実に使用中と分かるデータとして置かれてい るポインタを基点として、連鎖的にたどれるものに、到達可能の印を付けて (マーク)、次にヒープ上のデータで印がないものを未使用とみなして掃除(ス イープ)する。 基点にした領域にはただの数値データも置いてあったりするわけだが、そい つは意味のあるアドレスを指したポインタ値に見えてしまう(実際にはポイン タではないのに)こともある。本当のポインタと区別が付かないので、安全措 置(へたにデータを消してしまうのを回避)として、これらをポインタとみなす GCのを「保守的GC」という。 本来ポインタでないものが保守的にポインタとみなされ、それからたどれて しまったデータは、到達可能マークが付いてしまう。よってスイープ対象外 になる(=完全なGCにならない)。 651:デフォルトの名無しさん 09/03/24 18:30:36 >>648 >Rubyは保守的GCなので、運悪くポインタっぽい値がどっかにあるとメモリが回収されない。 もしかしてテキストデータを扱うスクリプトよりも バイナリデータを扱うスクリプトの方が そういう「勘違い」でリーク起き易いってことですか?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5392日前に更新/257 KB
担当:undef