Javaでの参照タイプ(強参照、ソフト参照、弱参照、虚参照)

1242 ワード

  • 強参照とは、オブジェクトを作成し、そのオブジェクトを参照変数に割り当てることを意味する.メモリが不足している場合でも、参照変数の指向性が強い場合は、ゴミ回収されません.
  • 2.ソフトリファレンスソフトリファレンスソフトリファレンスはソフトリファレンスクラスによってソフトリファレンスを実現するオブジェクトは、システムメモリが十分である場合と強いリファレンスとはあまり変わらないが、メモリが不足している場合はソフトリファレンスのオブジェクトを回収する.
    注意:システムメモリが十分な場合、ソフトリファレンスのメモリ回収は行われず、システムが不足している場合はソフトリファレンスのオブジェクトが回収されます.Java-Xmx 1 m-Xms 1 m SoftReferenceTestコマンドを使用すると、強制スタックメモリが1 mの場合、ソフトリファレンスリファレンスオブジェクトが回収されます.(10000個のオブジェクトを作成できます)
    3.弱引用(weakReference)弱引用はweakReferenceクラスによって弱引用用具を実現するのに強い不確実性がある.ごみ回収は毎回弱い参照のオブジェクトを回収するからです.
    4.虚参照
  • ソフトリファレンスと弱リファレンスは単独で使用でき、ダミーリファレンスは単独で使用できません.ダミーリファレンスの役割は、オブジェクトがゴミ回収された状態を追跡することです.プログラムは、ダミーリファレンスに関連付けられたダミーリファレンスキューに指定されたダミーリファレンスが含まれているかどうかを検出することで、ダミーリファレンスを解くオブジェクトが回収されるかどうかを検出できます.
  • PhantomReferenceオブジェクト実装
  • ダミーリファレンスはPhantomReferenceクラスによって実現され、それ自体がオブジェクトに影響を及ぼさず、類似と適用されず、オブジェクトはダミーリファレンスの存在さえ感じず、1つのオブジェクトが1つのダミーリファレンスしか存在しない場合、彼は類似して適用されていない.
  • プログラムがゴミ回収を強制すると、ダミー参照文字列オブジェクトのみがゴミ回収され、参照されたオブジェクトが回収されると、対応する参照が関連する参照キューに追加されます.
  • 4.ソフトリファレンスソフトリファレンス、弱リファレンス、虚リファレンスのリファレンス方式でオブジェクトをリファレンスすると、ゴミ回収で任意にオブジェクトを解放できます.プログラムが宣言サイクルで消費するメモリサイズをできるだけ小さくしたい場合は、これらのリファレンスを柔軟に使用できます.
                          (       null),                。