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
微信小程序阅读
刷题面试、行情交流 加好友回 666 入群