< prev index next >
src/java.base/share/classes/java/lang/ref/PhantomReference.java
Print this page
rev 55532 : 8223582: [lworld] WeakReference of an inline type should throw
@@ -28,10 +28,13 @@
/**
* 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.
+ * <p>
+ * The referent must not be an instance of an inline class; such a value
+ * can never have another reference to it and cannot be held in a reference type.
*
* <p> Suppose the garbage collector determines at a certain point in time
* that an object is <a href="package-summary.html#reachability">
* phantom reachable</a>. At that time it will atomically clear
* all phantom references to that object and all phantom references to
@@ -70,10 +73,12 @@
* it will never be enqueued.
*
* @param referent the object the new phantom reference will refer to
* @param q the queue with which the reference is to be registered,
* or {@code null} if registration is not required
+ * @throws IllegalArgumentException if the referent is an instance of an
+ * {@link Class#isInlineClass() inlineClass}
*/
public PhantomReference(T referent, ReferenceQueue<? super T> q) {
super(referent, q);
}
< prev index next >