views:

229

answers:

2

The API doc says

This reference type differs from the others in that it isn't meant to be used to access the object, but as a signal that the object has already been finalized, and the garbage collector is ready to reclaim its memory.

If Phantom reference cannot be used to access the object, how does the garbage collector reclaims the memory used by this object ?

+3  A: 

You might find this presentation from Bob Lee to be useful in demystifying the various reference types (slides).

Alex Miller
A: 

A phantom reference lets you do final touch up closing on an object, even after it has been declared dead — no longer referenced by any live object.
http://mindprod.com/jgloss/phantom.html

Padmarag