On Jul 20, 2007, at 11:58, Jeremias Maerki wrote:

Read again: "Implementation note: The value objects in a WeakHashMap are
held by ordinary strong references." That means that all the object in
there can never be released since there never be only a weak reference
to the object there.

Right, but the value objects are not the issue. As long as the key can be released, and the value does not refer directly or indirectly back to the key, there is no problem. What the Javadoc warns about is the situation where value /refers back/ to the key in some way or other: most simple case would be that the value object is composite and has an instance member that is itself the key object. In that case, the entry will never be released, unless the value itself is wrapped in a WeakReference.

FWIW: I had the same initial reservations, but re-reading the Javadoc, it occurred to me that this was actually no problem at all.



Reply via email to