PhantomReference: why not cleared by GC when enqueued?
dmytro_sheyko at hotmail.com
Wed May 29 11:45:54 UTC 2013
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