java.lang.Object | ||
↳ | java.lang.ref.Reference <T> | |
↳ | java.lang.ref.PhantomReference<T> |
Implements a phantom reference, which is the weakest of the three types of
references. Once the garbage collector decides that an object
obj
is
phantom-reachable, it is being enqueued
on the corresponding queue, but its referent is not cleared. That is, the
reference queue of the phantom reference must explicitly be processed by some
application code. As a consequence, a phantom reference that is not
registered with any reference queue does not make any sense.
Phantom references are useful for implementing cleanup operations that are
necessary before an object gets garbage-collected. They are sometimes more
flexible than the
finalize()
method.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Constructs a new phantom reference and registers it with the given
reference queue.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Returns
null
.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.ref.Reference
|
|||||||||||
From class
java.lang.Object
|
Constructs a new phantom reference and registers it with the given
reference queue. The reference queue may be
null
, but this case
does not make any sense, since the reference will never be enqueued, and
the
get()
method always returns
null
.
r | the referent to track |
---|---|
q | the queue to register the phantom reference object with |
Returns
null
. The referent of a phantom reference is not
accessible.
null
(always)