Module java.base
Package java.lang.ref

Class ReferenceQueue<T>


  • public class ReferenceQueue<T>
    extends Object
    ReferenceQueue is the container on which reference objects are enqueued when their reachability type is detected for the referent.
    Since:
    1.2
    • Constructor Detail

      • ReferenceQueue

        public ReferenceQueue()
        Constructs a new instance of this class.
    • Method Detail

      • poll

        public Reference<? extends T> poll()
        Returns the next available reference from the queue if one is enqueued, null otherwise. Does not wait for a reference to become available.
        Returns:
        Reference next available Reference or NULL.
      • remove

        public Reference<? extends T> remove()
                                      throws InterruptedException
        Return the next available enqueued reference on the queue, blocking indefinitely until one is available.
        Returns:
        Reference a Reference object if one is available, null otherwise.
        Throws:
        InterruptedException - to interrupt the wait.
      • remove

        public Reference<? extends T> remove​(long timeout)
                                      throws IllegalArgumentException,
                                             InterruptedException
        Return the next available enqueued reference on the queue, blocking up to the time given until one is available. Return null if no reference became available.
        Parameters:
        timeout - maximum time spent waiting for a reference object to become available.
        Returns:
        Reference a Reference object if one is available, null otherwise.
        Throws:
        IllegalArgumentException - if the wait period is negative.
        InterruptedException - to interrupt the wait.