最适合大型并发操作的java map

时间:2016-10-25 05:54:59

标签: java performance

在Java中使用哪个Map来实现Web服务中的大量并发操作,例如每秒100次点击。 表现也在考虑之中。

3 个答案:

答案 0 :(得分:0)

java.util.concurrent.ConcurrentHashMap 应该可以胜任。

  • 在没有同步整个地图的情况下是线程安全的
  • 使用锁进行写入时,
  • 读取可以非常快速地发生
  • 对象级别没有锁定。

如果您计划处理大量数据,可以查看this question以获取更多信息。

答案 1 :(得分:0)

是的,100不是很大.Huge并发操作你应该使用ConcurrentHashMap并了解当前包的更多信息。

答案 2 :(得分:0)

对于此类加载,您可以选择ConcurrentHashMap或SynchronizedMap。

但我会说,如果从可伸缩性的角度来看(如果将来负载会增加),我建议使用ConcurrentHashMap。

而且在ConcurrentHashMap中,锁定不在整个地图级别上。相反,它处于块级别(块可以是单个键或一组键)。

有关ConcurrentHashMap内部工作的更多信息,请参阅http://javahungry.blogspot.com/2015/02/how-concurrenthashmap-works-in-java-internal-implementation.html