table:数组加volatile保证可见性和有序性
put():数组不存在,通过CAS创建;数组下标位置为空,通过CAS插入;数组下标位置不为空,给头节点加synchronized来插入链表或红黑树
面试题
ConcurrentHashMap是通过synchronized保证线程安全的吗?
不是,HashTable是单纯给方法加synchronized来保证单机线程安全,性能低文章来源:https://www.toymoban.com/news/detail-694231.html
ConcurrentHashMap是通过volatile CAS/synchronized局部加锁而非锁住整个方法来提高性能文章来源地址https://www.toymoban.com/news/detail-694231.html
到了这里,关于Java-集合-ConcurrentHashMap的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!