HashMap不安全怎么解决?
2023-12-16 12:53:43
1.使用HashTable,因为HashTable对于get,put方法加锁(使用synchronized修饰着两个方法)。
2.使用Collections.synchronizedMap。它是对所有的方法内部都添加了synchronized。相比于HashTable。他的粒度更细。是对于方法内部的代码块加锁。
3.使用ConcurrentHashMap<>(),他每次只给一个桶(数组项)加锁。
内部将整个哈希表分成多个段(Segments),每个段都维护着一个子哈希表。默认情况下,ConcurrentHashMap
?的段数与 CPU 核心数相同,这样可以最大限度地提高并发性能。
文章来源:https://blog.csdn.net/weixin_55990599/article/details/135030795
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!