站点图标 度崩网-几度崩溃

ConcurrentHashMap了解吗?说说实现原理。

HashMap 是线程不安全的,效率高;HashTable 是线程安全的,效率低。

ConcurrentHashMap 可以做到既是线程安全的,同时也可以有很高的效率,得益于使用了分段锁。

 

实现原理

JDK 1.7:

 

put 方法的逻辑较复杂:

 

get 方法较简单:

 

JDK 1.8:

 

put 方法逻辑:

 

get 方法逻辑:

 

JDK 1.7 到 JDK 1.8 中的 ConcurrentHashMap 最大的改动:

 

参考:

https://www.cnblogs.com/fsychen/p/9361858.html