「循環参照」の版間の差分

imported>Administrator
ページの作成:「循環参照(英:circular reference)とは、ある複数のデータが相互に参照しあっている状態のことである。 2つのデータ...」
 
imported>Administrator
6行目: 6行目:


== 概要 ==
== 概要 ==
[[プログラミング]]において循環参照を適切に処理できなければ、たとえば[[シリアライズ]]を行うさいに[[永久ループ]]に陥り、[[アウトオブメモリー]](メモリ不足)や[[スタックマシン]]であれば[[スタックオーバーフロー]]が発生したりといったことになる。
[[プログラミング]]を行う際に循環参照を適切に処理できなければ、たとえば[[シリアライズ]]を行うさいに[[永久ループ]]に陥り、[[アウトオブメモリー]](メモリ不足)や[[スタックマシン]]であれば[[スタックオーバーフロー]]が発生したりといったことになる。


また[[参照カウンター]]方式の[[ガベージコレクター]]を採用する[[プログラミング言語]]や[[実行環境]]では、循環参照により[[参照]]しあう[[オブジェクト]]は半永久的に参照カウントが減らないという問題に遭遇し、[[UNIX]]の[[デーモン]]や[[Windowsサービス]]、[[常駐プログラム]]のような長時間起動し続ける[[プログラム]]においてメモリー不足や[[スタックオーバーフロー]]が発生する。
また[[参照カウンター]]方式の[[ガベージコレクター]]を採用する[[プログラミング言語]]や[[実行環境]]では、循環参照により[[参照]]しあう[[オブジェクト]]は半永久的に参照カウントが減らないという問題に遭遇し、[[UNIX]]の[[デーモン]]や[[Windowsサービス]]、[[常駐プログラム]]のような長時間起動し続ける[[プログラム]]においてメモリー不足や[[スタックオーバーフロー]]が発生する。