2013年5月12日
摘要: 在酷壳上看到博主陈皓写的最新文章疫苗:Java HashMap的死循环。博主看问题非常透彻,代码分析到位,而且图文并茂,很容易让人理解一个死循环是怎么产生的。在博文中,耗子叔叔分析的最重要的一点就是HashMap在ReHash的这个过程中,由于多线程操作容器,意外地很隐蔽地构造了一个环形链接导致了死循环(Infinite Loop)。给我的启示简单总结如下:一、单线程改造为多线程也是个技术活正如我们看到耗子叔叔博客里写的那样,原来是单线程的应用程序,”后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU“。考虑到是淘宝的工程师曝出来的问 阅读全文
posted @ 2013-05-12 16:40 JeffWong 阅读(3428) 评论(0) 推荐(2) 编辑