FW: PhantomReference: why not cleared by GC when enqueued?
dmytro_sheyko at hotmail.com
Thu May 30 11:32:08 UTC 2013
You are listed as an author of java.lang.ref classes. So you must know more than others. Could you shed light on this?
From: dmytro_sheyko at hotmail.com
To: hotspot-gc-dev at openjdk.java.net; core-libs-dev at openjdk.java.net
Subject: PhantomReference: why not cleared by GC when enqueued?
Date: Wed, 29 May 2013 14:45:54 +0300
Why phantom references are not automatically cleared by the garbage collector as they are enqueued?
Keeping phantom reachable objects in heap has some drawbacks:
1. At least 2 GC are required in order to reclaim them, even in case when application code pulls references from reference queue and clears them promptly.
2. GC pauses are increased since phantom reachable objects are still to be marked.
On the other hand, benefits are not obvious. How we can use referent if it's not accessible?
More information about the core-libs-dev