java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.PhantomReference<T>
- 型パラメータ:
T
- 紹介のタイプ
public non-sealed class PhantomReference<T> extends Reference<T>
ファントム参照オブジェクトです。ファントム参照オブジェクトがキューに入れられるのは、キューに入れておかないとそれらのリファレントが再生される可能性があるとコレクタが判断したときです。 ファントム参照は、モーテム後のクリーンアップ・アクションのスケジュールに最もよく使用されます。
ある時点でオブジェクトが「ファントム到達可能」であるとガベージ・コレクタが判断したとします。 At that time it will atomically clear all phantom references to that object and all phantom references to any other phantom-reachable objects from which that object is reachable.この時点で、そのオブジェクトへのすべてのファントム参照と、そのオブジェクトが到達可能な他のファントム到達可能オブジェクトへのすべてのファントム参照を原子的にクリアします。 同時に、または後で、参照キューに登録されている新しくクリアされたファントム参照をエンキューします。
再生可能なオブジェクトをそのままにしておくために、ファントム参照のリファレントを取り出すことはできません。ファントム参照のget
メソッドは、常にnull
を返します。 refersTo
メソッドを使用して、一部のオブジェクトがファントム参照のリサーチを受けるかどうかをテストできます。
- 導入されたバージョン:
- 1.2
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明PhantomReference
(T referent, ReferenceQueue<? super T> q) 指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。 -
メソッドのサマリー
クラスjava.lang.ref.Referenceで宣言されたメソッド
clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo
-
コンストラクタの詳細
-
PhantomReference
public PhantomReference(T referent, ReferenceQueue<? super T> q) 指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。null
キューを使用してファントム参照を作成できます。 このような参照はエンキューされません。- パラメータ:
referent
- 新しいファントム参照が参照するオブジェクトq
- 参照が登録されるキュー、または登録が不要な場合はnull
-
-
メソッドの詳細
-
get
-