Class java.lang.ref.PhantomReference
java.lang.Object
|
+----java.lang.ref.Reference
|
+----java.lang.ref.PhantomReference
- public class PhantomReference
- extends Reference
Phantom reference objects, for use in scheduling pre-mortem cleanup
actions.
A phantom reference is a reference object that remains valid
after the collector determines that its referent is otherwise eligible for
reclamation. If the garbage collector determines at a certain point in time
that the referent of a registered phantom reference is no longer strongly
reachable, has no guarded or weak references, and has been finalized, then
at some later time the collector will enqueue the reference.
In order to ensure that a reclaimable object remains so, the referent of
a phantom reference may not be retrieved: The get
method of a
phantom reference always returns null
. Clients should,
therefore, extend the PhantomReference class to add whatever
information is needed to support any further actions to be taken on the
referent's behalf. Phantom references are useful for implementing clean-up
processing that requires an object to be inaccessible, such as the
deallocation of resources outside of the Java heap.
- Since:
- JDK1.2
Method Summary
|
Object
|
get()
Return null , since the referent of a phantom reference
is not accessible via the reference.
|
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PhantomReference
public PhantomReference(Object referent)
- Create a new phantom reference that refers to the given object.
The new reference is not registered with a queue.
PhantomReference
public PhantomReference(Object referent,
ReferenceQueue q)
- Create a new phantom reference that refers to the given object and
is registered with the given queue.
- Throws:
- NullPointerException - If the
queue
argument
is null
get
public Object get()
- Return
null
, since the referent of a phantom reference
is not accessible via the reference.
- Overrides:
- get in class Reference
Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.