Name
Package java.lang.ref
Synopsis
The
java.lang.ref
package defines classes that allow
Java programs to interact with the Java garbage collector. A
Reference
represents an indirect reference to an
arbitrary object, known as the
referent
.
SoftReference
, WeakReference
,
and PhantomReference
are three concrete subclasses
of Reference
that interact with the garbage
collector in different ways, as explained in the individual class
descriptions that follow. ReferenceQueue
represents a linked list of Reference
objects. Any
Reference
object may have a
ReferenceQueue
associated with it. A
Reference
object is enqueued
on its ReferenceQueue
at some point after the
garbage collector determines that the referent object has become
appropriately unreachable. (The exact level of unreachability depends
on the type of Reference
being used.) An
application can monitor a ReferenceQueue
to
determine when referent objects enter a new reachability status.
Using the mechanisms defined in this package, you can implement a
cache that grows and shrinks in size according to the amount of
available system memory. Or, you can implement a hashtable that
associates auxiliary information with arbitrary objects, but does not
prevent those objects from being garbage-collected if they are
otherwise unused. The mechanisms provided by this package are
low-level ones, however, and typical applications do not use
java.lang.ref
directly. Instead, they rely on
higher-level utilities built on top of the package. See
java.util.WeakHashMap ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.