Package Summary  Overview Summary

class:PhantomReference [NONE]

public class PhantomReference<T>
extends Reference<T>
Phantom reference objects, which are enqueued after the collector determines that their referents may otherwise be reclaimed. Phantom references are most often used to schedule post-mortem cleanup actions.

Suppose the garbage collector determines at a certain point in time that an object is phantom reachable . At that time it will atomically clear all phantom references to that object and all phantom references to any other phantom-reachable objects from which that object is reachable. At the same time or at some later time it will enqueue those newly-cleared phantom references that are registered with reference queues.

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.


method:get() [NONE]

  • get

    public T get()
    Returns this reference object's referent. Because the referent of a phantom reference is always inaccessible, this method always returns null.
    get in class Reference<T>

© 2020 Oracle Corporation and/or its affiliates