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

クラスReferenceQueue<T>

java.lang.Object
java.lang.ref.ReferenceQueue<T>

public class ReferenceQueue<T> extends Object
参照キューです。到達可能性が適切に変更されたことが検出されると、登録されている参照オブジェクトはガベージ・コレクタによって参照キューに追加されます。
導入されたバージョン:
1.2
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    新しい参照オブジェクト・キューを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    Reference<? extends T>
    このキューをポーリングして、参照オブジェクトが利用可能かどうかを確認します。
    Reference<? extends T>
    このキューの次の参照オブジェクトを削除します。参照オブジェクトが利用可能になるまでブロックされます。
    Reference<? extends T>
    remove(long timeout)
    このキューの次の参照オブジェクトを削除します。参照オブジェクトが利用可能になるか、指定されたタイム・アウトの期限が切れるまでブロックします。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • ReferenceQueue

      public ReferenceQueue()
      新しい参照オブジェクト・キューを構築します。
  • メソッドの詳細

    • poll

      public Reference<? extends T> poll()
      このキューをポーリングして、参照オブジェクトが利用可能かどうかを確認します。 参照オブジェクトが遅延なしで利用可能な場合、それがキューから削除されて、返されます。 それ以外の場合、このメソッドは即座にnullを返します。
      戻り値:
      利用可能な参照オブジェクトがあった場合はその参照オブジェクト、そうでない場合はnull
    • remove

      public Reference<? extends T> remove(long timeout) throws IllegalArgumentException, InterruptedException
      このキューの次の参照オブジェクトを削除します。参照オブジェクトが利用可能になるか、指定されたタイム・アウトの期限が切れるまでブロックします。

      このメソッドはリアルタイム保証を行いません。Object.wait(long)メソッドを呼び出した場合と同様にタイム・アウトのスケジュールを作成します。

      パラメータ:
      timeout - 値が正の場合、このキューに参照が追加されるのを待つ間、timeoutミリ秒の間ブロックされる。 0の場合、無期限にブロックされる。
      戻り値:
      指定されたタイム・アウト期間に利用可能になった場合は参照オブジェクト、そうでない場合はnull
      例外:
      IllegalArgumentException - timeout引数の値が負の場合
      InterruptedException - タイム・アウト待機中に割り込まれた場合
    • remove

      public Reference<? extends T> remove() throws InterruptedException
      このキューの次の参照オブジェクトを削除します。参照オブジェクトが利用可能になるまでブロックされます。
      戻り値:
      参照オブジェクト。1つが利用可能になるまでブロックを行う
      例外:
      InterruptedException - 待機中に割り込まれた場合