为什么ConcurrentHashMap的读操作不需要加锁?
我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?我想有基础的同学知道在jdk1.7中是采用Segment + HashEntry +
ReentrantLock的方式进行实现的,而1.8中放弃了Segment臃肿的设计,取而代之的是采用Node + CAS +
Synchronized来保证并发安全进行实现。JDK1.8的实现降低锁的粒度,JDK1.7版...