- All Implemented Interfaces:
- IHashEntry<K,V>
- Direct Known Subclasses:
- EconomyConcurrentHashMap.PinnedHashEntry
- Enclosing class:
- EconomyConcurrentHashMap<K,V>
public static class EconomyConcurrentHashMap.HashEntry<K,V>
extends Object
implements IHashEntry<K,V>
ConcurrentHashMap list entry. Note that this is never exported out as a user-visible
Map.Entry.
Because the value field is volatile, not final, it is legal wrt the Java Memory Model for an
unsynchronized reader to see null instead of initial value when read via a data race.
Although a reordering leading to this is not likely to ever actually occur, the
Segment.readValueUnderLock method is used as a backup in case a null (pre-initialized) value
is ever seen in an unsynchronized access method.