Uses of Class java.lang.ref.Reference (Java Platform SE 8 )
Date: 2026-04-17

## Uses of Class
java.lang.ref.Reference

- Packages that use Reference
  Package | Description
  --- | ---
  java.lang.ref | Provides reference-object classes, which support a limited degree of interaction with the garbage collector.

- - ### Uses of Reference in java.lang.ref

    Subclasses of Reference in java.lang.ref
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PhantomReference<T>` Phantom reference objects, which are enqueued after the collector determines that their referents may otherwise be reclaimed.
    `class` | `SoftReference<T>` Soft reference objects, which are cleared at the discretion of the garbage collector in response to memory demand.
    `class` | `WeakReference<T>` Weak reference objects, which do not prevent their referents from being made finalizable, finalized, and then reclaimed.

    Methods in java.lang.ref that return Reference
    Modifier and Type | Method and Description
    --- | ---
    `Reference<? extends T>` | ReferenceQueue.`poll()` Polls this queue to see if a reference object is available.
    `Reference<? extends T>` | ReferenceQueue.`remove()` Removes the next reference object in this queue, blocking until one becomes available.
    `Reference<? extends T>` | ReferenceQueue.`remove(long timeout)` Removes the next reference object in this queue, blocking until either one becomes available or the given timeout period expires.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.