Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

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

Constructor Summary
 PhantomReference(Object referent)
Create a new phantom reference that refers to the given object.
 PhantomReference(Object referent, ReferenceQueue q)
Create a new phantom reference that refers to the given object and is registered with the given queue.
 

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.ref.Reference
 clear, enqueue, get, isEnqueued
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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
Method Detail

get

public Object get()
Return null, since the referent of a phantom reference is not accessible via the reference.
Overrides:
get in class Reference

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

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.