| WeakIdentityMap is like WeakHashMap, except it uses a key's identity
hashcode and equals methods. WeakIdentityMap is not thread-safe and must be
wrapped with Collections.synchronizedMap to be made thread-safe.
The documentation for WeakHashMap states that it is intended primarily for
use with key objects whose equals methods test for object identity using the
== operator. Because WeakIdentityMap strictly follows this behavior, it is
better suited for this purpose.
Note: Weakly referenced entries may be automatically removed during
either accessor or mutator operations, possibly causing a concurrent
modification to be detected. Therefore, even if multiple threads are only
accessing this map, be sure to synchronize this map first. Also, do not
rely on the value returned by size() when using an iterator from this map.
The iterators may return less entries than the amount reported by size().
author: Brian S O'Neill |