一起并发场景下错误使用HashMap的Case

一起并发场景下错误使用HashMap的Case

前段时间遇到了好几次HashMap造成的系统Load飙高,耗光CPU的事情,大家也进行了排查,找到了原因。林昊大神就这个问题,发表了两篇深入的分析:《又一起并发场景下错误使用HashMap的Case》(http://hello java.info/?p=31)以及《并发场景下HashMap.get导致cpu耗光的原因分析》(http://hello java.info/?p=45)。网友@fire对原因的一句话描述:

出现死循环是因为map中的桶链表出现了循环链表,循环链表是因为并发put操作造成的,同时进行了resize();如果只有一个线程进行put操作,是不会出现循环链表,所以读写并发不会出现死循环,只有写写并发才有可能出现死循环。

第一次听说林仕鼎的大名是在12306第一次被春运整趴下,多路高手为它出谋划策的时候,后来才知道林仕鼎是百度的大牛,今年年初时,百度搞了南京数据中心开放日的活动,介绍了百度新一代数据中心的情况,最近InfoQ对林仕鼎做了个采访,了解了下他对数据中心计算的一些想法:《林仕鼎谈数据中心计算(一):整体大于部分之和》(http://www.infoq.com/cn/articles/linshiding-on-sddc-design-01)、《林仕鼎谈数据中心计算(二):存储资源分层》(http://www.infoq.com/cn/articles/linshiding-on-sddc-design-02)。

来源: 每周推荐阅读2013Q2汇总 – DigitalSonic的自留地 – ITeye技术网站

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
87 views

发表评论

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

跳至工具栏