モジュール java.base
パッケージ java.lang.ref

クラスWeakReference<T>

java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.WeakReference<T>

public class WeakReference<T> extends Reference<T>
弱参照オブジェクトです。弱参照オブジェクトは、その弱参照オブジェクトのリファレントがファイナライズ可能になり、ファイナライズされ、そして再生されることを阻止することはありません。 弱参照は、ほとんどの場合で正規化マッピングを実装するために使用されます。

ある時点で、オブジェクトが弱到達可能であると、ガベージ・コレクタが判断したとします。 その時点で、ガベージ・コレクタは、そのオブジェクトへの弱参照すべてと、強参照およびソフト参照のチェーンを経由してそのオブジェクトに到達できるような、ほかの弱到達可能なオブジェクトへの弱参照すべてを、原子的にクリアします。 同時に、ガベージ・コレクタは以前に弱到達可能なオブジェクトがすべてファイナライズ可能であることを宣言します。 同時にまたはあとで、ガベージ・コレクタは、参照キューに登録されているそれらの新しくクリアされた弱参照をキューに入れます。

導入されたバージョン:
1.2
  • コンストラクタの詳細

    • WeakReference

      public WeakReference(T referent)
      指定されたオブジェクトを参照する、新しい弱参照を作成します。 新しい参照は、どのキューにも登録されません。
      パラメータ:
      referent - 新しい弱参照が参照するオブジェクト
    • WeakReference

      public WeakReference(T referent, ReferenceQueue<? super T> q)
      指定されたオブジェクトを参照し、指定されたキューに登録されている新しい弱参照を作成します。
      パラメータ:
      referent - 新しい弱参照が参照するオブジェクト
      q - 参照が登録されるキュー。登録が必要ない場合はnull