クラスWeakReference<T>
java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.WeakReference<T>
- 型パラメータ:
T- 紹介のタイプ
public non-sealed class WeakReference<T> extends Reference<T>
弱参照オブジェクトです。弱参照オブジェクトは、その弱参照オブジェクトのリファレントがファイナライズ可能になり、ファイナライズされ、そして再生されることを阻止することはありません。 弱参照は、ほとんどの場合で正規化マッピングを実装するために使用されます。
ある時点で、オブジェクトが弱到達可能であると、ガベージ・コレクタが判断したとします。 その時点で、ガベージ・コレクタは、そのオブジェクトへの弱参照すべてと、強参照およびソフト参照のチェーンを経由してそのオブジェクトに到達できるような、ほかの弱到達可能なオブジェクトへの弱参照すべてを、原子的にクリアします。 同時に、ガベージ・コレクタは以前に弱到達可能なオブジェクトがすべてファイナライズ可能であることを宣言します。 同時にまたはあとで、ガベージ・コレクタは、参照キューに登録されているそれらの新しくクリアされた弱参照をキューに入れます。
- 導入されたバージョン:
- 1.2
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明WeakReference(T referent) 指定されたオブジェクトを参照する、新しい弱参照を作成します。WeakReference(T referent, ReferenceQueue<? super T> q) 指定されたオブジェクトを参照し、指定されたキューに登録されている新しい弱参照を作成します。 -
メソッドのサマリー
クラスリファレンスで宣言されたメソッド
clear, clone, enqueue, get, isEnqueued, reachabilityFence, refersTo修飾子と型メソッド説明voidclear()この参照オブジェクトをクリアします。protected Objectclone()CloneNotSupportedExceptionをスローします。booleanenqueue()この参照オブジェクトをクリアし、登録されているキュー(ある場合)への追加を試みます。get()参照オブジェクトのリファレントを返します。boolean非推奨。このメソッドは当初、参照オブジェクトがクリアされてエンキューされたかどうかをテストするために指定されていましたが、このテストを行うために実装されたことはありません。static voidreachabilityFence(Object ref) 指定されたオブジェクトが「強く到達可能な」のままであることを確認します。final booleanこの参照オブジェクトの参照がobjかどうかをテストします。クラスオブジェクトで宣言されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
WeakReference
public WeakReference(T referent) 指定されたオブジェクトを参照する、新しい弱参照を作成します。 新しい参照は、どのキューにも登録されません。- パラメータ:
referent- 新しい弱参照が参照するオブジェクト
-
WeakReference
public WeakReference(T referent, ReferenceQueue<? super T> q) 指定されたオブジェクトを参照し、指定されたキューに登録されている新しい弱参照を作成します。- パラメータ:
referent- 新しい弱参照が参照するオブジェクトq- 参照が登録されるキュー、または登録が不要な場合はnull
-