保守的なガベージコレクタ [編集]とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 保守的なガベージコレクタ [編集]の意味・解説 

保守的なガベージコレクタ [編集]

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2013/05/17 21:24 UTC 版)

マーク・アンド・スイープ」の記事における「保守的なガベージコレクタ [編集]」の解説

C言語C++言語など、ガベージコレクタ仕様含んでいないプログラミング言語マーク・アンド・スイープ実行するには、マシンスタックやマシンレジスタ内にも参照がないかを確認する必要がある。しかし、通常マシンスタックやマシンレジスタの値が参照アドレス表しているのか、ただの数値表しているのかを区別することは出来ない。そこで、マシンスタックやレジスタ中の値は全て参照アドレス値であると解釈して該当アドレスオブジェクト回収保留するこのような実装保守的なガベージコレクタと呼ぶ。処理手順は以下のようになる。 まず、使用中であることが確実である参照調べる。具体的には、スタック領域定数領域にあるポインタ変数などである。見つかった参照から到達可能なオブジェクト印をつける。 そして、このオブジェクトからの参照順々にたどっていき、使用中メモリオブジェクトの一覧を作る。 この時、スタック上やオブジェクト内にある参照でないデータも、参照をあらわすデータ見なして処理を進める。使用中メモリ誤って解放してしまうことの方が、解放しないことより圧倒的に問題なので、使用中かどうか疑わしいメモリ解放しないのが安全である。それゆえ保守的呼ばれる。 そうして、使用中でないことが確実なメモリの一覧を作り、それを解放するBoost C++ Library の shared_ptr など 参照カウント法メモリ管理とは異なり保守的なガベージコレクタでは、特定のライブラリやネイティブスレッドとの同時使用によりトラブルが起こることがあるので、注意が必要である。

※この「保守的なガベージコレクタ [編集]」の解説は、「マーク・アンド・スイープ」の解説の一部です。
「保守的なガベージコレクタ [編集]」を含む「マーク・アンド・スイープ」の記事については、「マーク・アンド・スイープ」の概要を参照ください。

ウィキペディア小見出し辞書の「保守的なガベージコレクタ [編集]」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「保守的なガベージコレクタ [編集]」の関連用語

保守的なガベージコレクタ [編集]のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



保守的なガベージコレクタ [編集]のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのマーク・アンド・スイープ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS