Determining When an Object Will Be Reclaimed

A phantom reference is used to determine when an object is just about to be reclaimed. Phantom references are safer to use than finalization because once an object is phantom reachable, it cannot be resurrected.
// Create the phantom reference. ReferenceQueue rq = new ReferenceQueue(); PhantomReference pr = new PhantomReference(object, rq); // Wait until the object is about to be reclaimed. try { while (true) { Reference r = rq.remove(); if (r == pr) { // The object is about to be reclaimed. // Clear the referent so that it can be reclaimed. r.clear(); } } } catch (InterruptedException e) { }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.