ConcurrentHashMap
Map<String,Object> concurrentHashMap=new ConcurrentHashMap<String,Object>();
一个目前使用最多,最推荐的一个集合,实现也是比较复杂的。
里面的线程安全是通过cas+synchronized+volatile来实现的,
其中也可看出它的锁是分段锁,所以它的性能相对来说是比较好的。整体实现还是比较复杂的
但是它的效率是最高的,写效率稍慢,但读效率超高,所以实际高并发编程中一般用的都是ConcurrentHashMap。
concurrentHashMap使用分段,相当于把一个hashmap分成多个,然后每个部分分配一把锁,这样就可以支持多线程访问。