java.lang.ref
Class Reference
java.lang.Object
java.lang.ref.Reference
- Direct Known Subclasses:
- FinalReference, PhantomReference, SoftReference, WeakReference
- public abstract class Reference
- extends Object
Abstract base class for reference objects. This class defines the
operations common to all reference objects. Because reference objects are
implemented in close cooperation with the garbage collector, this class may
not be subclassed directly.
- Since:
- 1.2
- Author:
- Mark Reinhold
Method Summary |
void |
clear()
Clears this reference object. |
boolean |
enqueue()
Adds this reference object to the queue with which it is registered,
if any. |
Object |
get()
Returns this reference object's referent. |
boolean |
isEnqueued()
Tells whether or not this reference object has been enqueued, either by
the program or by the garbage collector. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
referent
private Object referent
queue
ReferenceQueue queue
next
Reference next
discovered
private transient Reference discovered
lock
private static Reference.Lock lock
pending
private static Reference pending
Reference
Reference(Object referent)
Reference
Reference(Object referent,
ReferenceQueue queue)
get
public Object get()
- Returns this reference object's referent. If this reference object has
been cleared, either by the program or by the garbage collector, then
this method returns
null
.
- Returns:
- The object to which this reference refers, or
null
if this reference object has been cleared
clear
public void clear()
- Clears this reference object. Invoking this method will not cause this
object to be enqueued.
isEnqueued
public boolean isEnqueued()
- Tells whether or not this reference object has been enqueued, either by
the program or by the garbage collector. If this reference object was
not registered with a queue when it was created, then this method will
always return
false
.
- Returns:
true
if and only if this reference object has
been enqueued
enqueue
public boolean enqueue()
- Adds this reference object to the queue with which it is registered,
if any.
- Returns:
true
if this reference object was successfully
enqueued; false
if it was already enqueued or if
it was not registered with a queue when it was created