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

クラスReferenceQueue<T>


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

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

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

      • 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 - 待機中に割り込まれた場合