作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ConcurrentHashMap,我尝试使用 putIfAbsent() 放置一个键值对。现在,由于在并发HashMap上工作的每个线程都有自己的段,该段由一组键值对组成。是否会将新的键值对放置在其自己的段中,或者没有像这样的强制要求?
谢谢
最佳答案
你有一个根本性的误解。线程没有拥有自己的段。 ConcurrentHashMap 的映射根据其键的哈希码分布在各个段上,在最好的情况下,访问不同键的线程最终位于不同的段,因此,可以独立工作。
访问同一键的线程永远不会出现在不同的段。 Map
所有键都是唯一的原则不会改变。
但这无论如何都是对过时技术的描述。从 Java 8 开始,ConcurrentHashMap
不再使用段。根据容量和哈希码分布,所有 key 可能会同时更新。
关于java - 线程是否将新值放入 ConcurrentHashMap 中自己的段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57095875/
我的 MapFragment 有问题,我不知道如何让它不填满屏幕。我需要有一个 MapFragment 来停在我的 TextView 上。我附上一张图片,可以更好地描述我需要它的外观。现在我的 Map
给定 P={p1,...,pn} 不同的点定义 n 2 行,编写一个算法,在最坏情况下以 O(n*log(n)) 时间复杂度找到具有最低斜率(最小绝对值)的线案例。 最佳答案 定理: 给定一组点 P。
我是一名优秀的程序员,十分优秀!