クラス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(T referent, ReferenceQueue<? super T> q)
    指定されたオブジェクトを参照し、指定されたキューに登録されている新しいファントム参照を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    get()
    参照オブジェクトのリファレントを返します。

    クラスリファレンスで宣言されたメソッド

    clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo
    修飾子と型
    メソッド
    説明
    void
    この参照オブジェクトをクリアします。
    protected Object
    CloneNotSupportedExceptionをスローします。
    boolean
    この参照オブジェクトをクリアし、登録されているキュー(ある場合)への追加を試みます。
    boolean
    非推奨。
    このメソッドは当初、参照オブジェクトがクリアされてエンキューされたかどうかをテストするために指定されていましたが、このテストを行うために実装されたことはありません。
    static void
    指定されたオブジェクトが強く到達可能なのままであることを確認します。
    final boolean
    refersTo(T obj)
    この参照オブジェクトの参照がobjかどうかをテストします。

    クラスオブジェクトで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • PhantomReference

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

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

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

    • get

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