public class

ReferenceQueue

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

Class Overview

The ReferenceQueue is the container on which reference objects are enqueued when the garbage collector detects the reachability type specified for the referent.

Summary

Public Constructors
ReferenceQueue()
Constructs a new instance of this class.
Public Methods
synchronized Reference<? extends T> poll()
Returns the next available reference from the queue, removing it in the process.
Reference<? extends T> remove()
Returns the next available reference from the queue, removing it in the process.
synchronized Reference<? extends T> remove(long timeout)
Returns the next available reference from the queue, removing it in the process.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ReferenceQueue ()

Constructs a new instance of this class.

Public Methods

public synchronized Reference<? extends T> poll ()

Returns the next available reference from the queue, removing it in the process. Does not wait for a reference to become available.

Returns
  • the next available reference, or null if no reference is immediately available

public Reference<? extends T> remove ()

Returns the next available reference from the queue, removing it in the process. Waits indefinitely for a reference to become available.

Returns
  • the next available reference
Throws
InterruptedException if the blocking call was interrupted for some reason

public synchronized Reference<? extends T> remove (long timeout)

Returns the next available reference from the queue, removing it in the process. Waits for a reference to become available or the given timeout period to elapse, whichever happens first.

Parameters
timeout maximum time (in ms) to spend waiting for a reference object to become available. A value of zero results in the method waiting indefinitely.
Returns
  • the next available reference, or null if no reference becomes available within the timeout period
Throws
IllegalArgumentException if the wait period is negative.
InterruptedException if the blocking call was interrupted for some reason