hashmap和hashtable源码级别的区别
不同点:
1 hashtable在put和get的时候都加了synchronized
2 hashtable中没有Key为null位置了
可以看出hashtable每次锁定的是整个hashtable,所以并发效率比较低。
public synchronized V get(Object key)
public synchronized V put(K key, V value)
相同点:
存储结构 Entry基本是一样的
concurrentHashMap的优化是什么?
concurrentHashMap数据结构是segment,内部存储分成一个一个的segment分开锁定默认是分隔成16个segment,每个segment分开锁定,所以增加了并发的效率,最多可以有16个线程同时访问write操作。
参考资料