
- 在1.8中ConcurrentHashMap的get操作全程不需要加锁,这也是它比其他并发集合比如Hashtable、用Collections.synchronizedMap()包装的 Hashmap;安全效率高的原因之一。
- get 操作全程不需要加锁是因为 Node 的成员 val 使用 volatile 修饰的和数组用 vilatile 修饰没有关系。
- 数组用 volatile 修饰主要是保证在数组扩容的时候保证可见性。
https://www.pianshen.com/article/73661586268/