快速业务通道

Java理论与实践: 构建一个更好的HashMap - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
的、更大的 hash 表中。多数情况下,这是自动发生 的,并且对调用者透明。

不锁定?

要说不用锁定就可以成功地完成 get() 操作似乎有点言过其实,因为 Entry 的 value 字段是易变的,这是用来检测更新和删除的。在机器级,易变的和同 步的内容通常在最后会被翻译成相同的缓存一致原语,所以这里会有 一些 锁定 ,虽然只是细粒度的并且没有调度,或者没有获取和释放监视器的 JVM 开销。 但是,除语义之外,在很多通用的情况下,检索的次数大于插入和删除的次数, 所以说由 ConcurrentHashMap 取得的并发性是相当高的。

结束语

ConcurrentHashMap 对于很多并发应用程序来说是一个非常有用的类,而且 对于理解 JMM 何以取得较高性能的微妙细节是一个很好的例子。 ConcurrentHashMap 是编码的经典,需要深刻理解并发和JMM 才能够写得出。使 用它,从中学到东西,享受其中的乐趣――但是除非您是Java 并发方面的专家 ,否则的话您自己不应该这

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号