HashTable
数组+链表实现,key和value不可以为null,线程安全。
通过对整体上锁的方式保证线程安全,效率较低。
HashMap
数组+链表实现,key和value可以为null,线程不安全。
ConcurrentHashMap
分段数组+链表实现,key和value不可以为null,线程安全。
对每一个哈西桶上一把锁,提高了效率。扩容不再是针对整个哈希表,避免了无效扩容。
数组+链表实现,key和value不可以为null,线程安全。
通过对整体上锁的方式保证线程安全,效率较低。
数组+链表实现,key和value可以为null,线程不安全。
分段数组+链表实现,key和value不可以为null,线程安全。
对每一个哈西桶上一把锁,提高了效率。扩容不再是针对整个哈希表,避免了无效扩容。