首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ConcurrentHashMap的size方法是线程安全的吗?

前言 之前在面试的过程中有被问到,ConcurrentHashMap的size方法是线程安全的吗? 这个问题,确实没有答好。这次来根据源码来了解一下,具体是怎么一个实现过程。...方法 JDK1.7中的ConcurrentHashMap的size方法,计算size的时候会先不加锁获取一次数据长度,然后再获取一次,最多三次。...JDK1.8中的ConcurrentHashMap的size()方法的源码如下: /** * {@inheritDoc} */ public int size() { long n = sumCount...0L : n; // ignore transient negative values } 无论是size()方法还是mappingCount()方法,核心方法都是sumCount()方法。...总结 无论是JDK1.7还是JDK1.8中,ConcurrentHashMap的size()方法都是线程安全的,都是准确的计算出实际的数量,但是这个数据在并发场景下是随时都在变的。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

讲解string size must be a multiple of element size

讲解 "string size must be a multiple of element size" 错误在编程过程中,尤其是在使用一些底层编程语言或库时,您可能会遇到各种错误消息。...其中之一是 "string size must be a multiple of element size"。本篇博客文章将向您解释这个错误消息的含义,并给出解决方案。...具体的设置方法因编程语言和编译器而异,请参考相关的文档或手册。一个实际应用场景可能是在处理音频数据时。假设我们有一个音频处理函数,该函数要求传入的音频数据长度必须是样本数据元素大小的倍数。...为了确保字符串长度是元素大小的倍数,我们可以使用以下方法之一:填充字符:当字符串长度不是元素大小的倍数时,可以在字符串末尾添加特定的填充字符,使其达到元素大小的倍数。...这种方法适用于字符串的尾部字符对处理结果没有影响的情况。

11410
领券