, SO. , Java (, OOPS, fixnums ..).
OpenJDK 7, HashMap:
- 48 HashMap
. , 8 .
, , keySet(), values() entrySet(). , 12 32- .
transient volatile Set<K> keySet = null;
transient volatile Collection<V> values = null;
private transient Set<Map.Entry<K,V>> entrySet = null
int: size, threshold modCount. 12 .
float: loadFactor. 4 .
(Entry[] table). 4 .
( static final , )
, 40- HashMap. 48 , . , - , , . . , . , 40 48 ( ).
16 + ( * 4 )
Entry[] table HashMap, .
8 , 4 bytes length. 12 , 16. , , .
Entry, 4 . .
32 ↔
, 8 .
:
final K key;
V value;
Entry<K,V> next;
final int hash;
16 .
24 . , 36.
, . IBM vm? , 64- ? , 16 ( - Java 8?).
, .