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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。