concurrenthashmap相关内容

ConcurrentHashMap与基于ReentrantReadWriteLock的自定义地图进行重新加载

Java Gurus, 当前,我们有一个HashMap,它经常被读取并且偶尔被修改,并且在修改/重新加载期间,我们遇到的问题是 Read 操作返回null这是不可接受的. 要解决此问题,我有以下选择: A.使用 ConcurrentHashMap 哪个看起来像第一个选择,但是我们要讨论的操作是reload()-表示 ..
发布时间:2020-05-03 05:58:48 Java开发

JVM HeapDump:内存在"java.util.concurrent.ConcurrentHashMap $ Segment"的一个实例中累积.

我在使用JVM堆时遇到了麻烦. 我们通过Apache HTTP Server和Apache Tomcat Application Server运营一个网站. 所有对Apache HTTP Server的* .jsp请求都将重定向到Tomcat服务器(协议:ajp). 该网站有超过1万个jsp文件. 我们也有一个Google Search Appliance,它每晚都会抓取该 ..
发布时间:2020-04-25 07:29:04 服务器开发

修改ConcurrentHashMap中的值

在ConcurrentHashMap中有分段的概念。这意味着如果两个线程试图访问ConcurrentHashMap,它会分为两个块,默认大小为16。 现在假设在ConcurrentHashMap只有一个场景中两个元素和两个不同的线程来了,thread1尝试修改第一个值,thread2尝试修改第二个值。在这种情况下,ConcurrentHashMap是否会进行分段? 现在在不同的场景中, ..
发布时间:2019-01-08 19:42:42 Java开发

从直方图中计算平均值和百分位数?

我编写了一个计时器,用于衡量任何多线程应用程序中特定代码的性能。在下面的计时器中,它还将填充地图,其中有多少次调用需要x毫秒。我将使用这张地图作为直方图的一部分进行进一步的分析,例如调用百分比的话,等等。 public static class StopWatch { public static ConcurrentHashMap histogram = ne ..
发布时间:2019-01-02 11:28:42 Java开发

使用ConcurrentHashMap消除了数据可见性问题?

我已经阅读了 Java Concurrency in Practice 并留下了这个问题:当我使用ConcurrentHashMap时,本书第一部分讨论的数据并发问题我还需要担心吗?以下是我的某个程序中的几个示例: 1。交易者的当前位置(共享整数,其中'整数'是数学术语) 此数字表示交易者对象当前拥有并定义其状态。它必须阅读它的位置,知道该做什么(寻找开始一个新的位置,或管理当前的位置 ..
发布时间:2019-01-02 09:48:36 Java开发

最快的方法来初始化ConcurrentHashMap的值

ConcurrentHashMap通常用于并发环境中,用于在键下聚合某些事件 - 比如计算某些字符串值的命中率。如果我们事先不知道密钥,我们需要有一个很好的方法来初始化密钥的需要,它应该是快速和安全的并发性。 这个问题的最佳模式(就效率而言)是什么? 我将使用带有的模型映射 声明如下: ConcurrentHashMap ..
发布时间:2019-01-02 09:42:18 Java开发

从理论上讲,ConcurrentHashMap的Segment和HashMap的桶之间有什么区别?

据我所知,在HashMap中,条目(Key,Value)基于散列(Key.hashCode)放置在桶中 - >表示桶位置的索引。如果条目已经放置在该位置,则创建链接列表,并且新条目(如果它具有不同的键 - >通过equals()方法)放置在链接列表的开头。 我可以将这个概念与ConcurrentHashMap的概念联系起来,但是不是Buckets,而是有各个线程锁定的段。而不是条目,有Has ..
发布时间:2018-12-28 15:36:19 Java开发

并发hashMap putIfAbsent方法功能

我是java世界的新bie并探索并发哈希映射,在探索并发hashmap API时,我发现了putifAbsent()方法 public V putIfAbsent(K paramK,V paramV) { if(paramV == null) throw new NullPointerException(); int i = hash(paramK.hashCode()); 返 ..
发布时间:2018-12-27 18:53:26 Java开发

如何使用LinkedHashMap中的类似功能实现ConcurrentHashMap?

我使用 LinkedHashMap , accessOrder true,并且随时允许最多500个条目作为LRU缓存数据。但由于可伸缩性问题,我想转向一些线程安全的替代方案。 ConcurrentHashMap 在这方面看起来不错,但缺少 accessOrder 和 removeEldestEntry(Map。条目e)在 LinkedHashMap 中找到。任何人都可以指向某些链接或帮助我简化实施 ..

ConcurrentHashMap中的读操作关于返回值是否可靠?

我在一本书中读到,读入 ConcurrentHashmap 并不保证最近更新的状态,它有时可以提供更接近的值。这是正确的吗? 我已经阅读了它的javadocs和许多博客似乎没有说明(即它是准确的)。 哪一个是真的? 解决方案 直观地说,ConcurrentHashMap的行为应该像一组volatile变量;映射键是变量地址。 get(key)和 put(key,value)应该 ..
发布时间:2018-12-12 19:24:39 Java开发

ThreadLocal HashMap vs ConcurrentHashMap用于线程安全的未绑定缓存

我正在创建一个具有以下特征的memoization缓存: 缓存未命中将导致计算和存储条目 这个计算非常昂贵 这个计算是幂等的 无界限(条目从未删除)因为: 输入最多会产生500个条目 每个存储的条目非常小 缓存相对短缺(通常不到一小时) 总体而言,内存使用率不是问题 将有数千次读取 - 超过缓存的生命周期,我预计99.9%+缓存命中率 必须是线程安全的 ..
发布时间:2018-12-12 18:44:30 Java开发

ConcurrentHashMap锁定

我已经在 ConcurrentHashMap 中读到了某个地方,整个地图对象没有被锁定,而是在Map的一部分上进行了锁定。 有人可以详细说明锁定何时进入图片? 在阅读地图时是否正确是否没有锁定,但在更新时只使用锁定? 解决方案 是, ConcurrentHashMap 使用多个锁(默认情况下,其中16个),每个锁控制一个哈希段。 在特定设置数据时段,获取该段的锁定。 ..
发布时间:2018-12-11 22:01:20 Java开发

ConcurrentHashMap构造函数参数?

我想知道构造 ConcurrentHashMap 的参数: initialCapacity 默认为16(理解)。 loadFactor 默认为0.75 。 concurrencyLevel 默认为16。 我的问题是: 应使用什么标准来调整 loadFactor up or down? 我们如何确定并发更新线程的数量? 应该使用什么标准来调整 concurrencyLeve ..
发布时间:2018-12-10 22:45:26 Java开发

ConcurrentHashMap.get()是否保证通过不同的线程看到以前的ConcurrentHashMap.put()?

是 ConcurrentHashMap.get() 保证查看以前的 ConcurrentHashMap.put() 由不同的主题?我的期望是,并且阅读JavaDocs似乎表明了这一点,但我99%确信现实是不同的。在我的生产服务器上,下面的似乎正在发生。 (我已经记录了它。) 伪代码示例: static final ConcurrentHashMap map = new Concurr ..
发布时间:2018-12-05 10:30:48 Java开发