クラスPhantomReference<T>

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

      public PhantomReference(T referent, ReferenceQueue<? super T> q)
      指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファント 参照を作成します。

      nullキューを使用してファント 参照を作成できます。 このような参照はエンキューされません。

      パラメータ:
      referent - 新しいファント 参照が参照するオブジェクト
      q - 参照が登録されるキュー、または登録が不要な 合はnull
  • メソッドの詳細

    • get

      public T get()
      参照オブジェクトのリファレントを返します。 ファント 参照のリファレントは常にアクセス不可能なため、このメソッドは常にnullを返します。
      オーバーライド:
      get、クラスReference<T>
      戻り値:
      null
      関連 目: