Uses of Class java.lang.ref.Reference (Java SE 12 & JDK 12 )

## 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 | 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 | 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.