jdk11ConcurrentHashMap的并发度是多少?
时间: 2023-10-25 13:40:38 浏览: 54
在JDK11中,`ConcurrentHashMap`的默认并发度是16。这意味着它允许16个线程同时访问它的不同部分,以提高并发性能。但是,并发度的选择应该根据具体的使用情况和硬件环境来进行调整。如果并发度设置得太高,可能会导致资源的浪费,而设置得太低,则会限制并发性能的提高。因此,需要根据具体情况进行优化。
相关问题
jdk1.8ConcurrentHashMap的并发度是多少?
jdk1.8中的ConcurrentHashMap默认的并发度是16,即默认会将其内部结构分成16个Segment进行操作,每个Segment维护一个HashEntry数组,不同的线程可以同时对不同的Segment进行操作,从而大大提高了并发能力。需要注意的是,并发度并不是越大越好,过多的并发度会导致内存占用过大、锁竞争增多等问题。因此,在使用ConcurrentHashMap时,应根据实际需求进行调整并发度。
jdk11 ConcurrentHashMap的锁是如何加的?
在 JDK 11 中,ConcurrentHashMap 使用了一种称为“分段锁”的技术来提高并发性能。具体来说,ConcurrentHashMap 将内部数据结构分为一系列的段(Segment),每个段都拥有自己的锁。当执行操作时,只需要对涉及到的段加锁,而不是对整个 ConcurrentHashMap 加锁。这样就可以实现多个线程同时访问 ConcurrentHashMap 的不同段,从而提高并发性能。
需要注意的是,JDK 8 之前的 ConcurrentHashMap 使用的是全局锁,而 JDK 8 和 JDK 9 中使用的是 CAS 操作加锁,而 JDK 11 中则使用了分段锁。这些不同的实现方式都是为了提高 ConcurrentHashMap 在不同场景下的性能表现。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)