【每日阅读】2020年10月20日-HashMap并发性能

文章

《java高并发程序设计 第2版》154-157页

新得

这个章节作者谈了一些自己对性能的思考,谈及性能评估的复杂,空间复杂度、时间复杂度、具体使用场景。评估的维度很多,绝不是按某一个单一标准可以言明的。

作者在这里举了一个例子,使用的是HashMap、ConcurrentHashMap、Collections.synchronizedMap(new HashMap)三种Map对象。性能测试工具是JMH(Java Microbenchmark Harness)。测试的内容是这三种Map对象的size()方法和get()方法。我在此作以记录。

下面数据的测试代码如图

20201021000403

jdk7下测试

【每日阅读】2020年10月20日-HashMap并发性能

其中加锁的HashMap在线程增加时,因竞争增加,性能出现了下降。而且可以看出,ConcurrentHashMap的size()方法的性能,在单线程时竟然不如加锁的HashMap。

jdk8下测试

20201020235833
两个线程时

升级到jdk8之后变化最明显的当属ConcurrentHashMap的size()方法,性能较之前直接翻了40+倍。

相关文件下载地址
*该资源需回复评论后下载,马上去发表评论?
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2620

(0)
geekgaogeekgao博主
上一篇 2020年10月20日 上午12:24
下一篇 2020年10月22日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

GitHub
分享本页
返回顶部

Warning: error_log(/usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/#log/log-2721.txt): failed to open stream: No such file or directory in /usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/spider.class.php on line 2900