当前系统在高并发下出现进程CPU占用很高的问题.即使没有处理业务.也占用很高.后定位出原因可能是HashMap在高并发条件下会死循环.
有两个问题想请问下:
1.出现死循环的话.是否还会回复原样?即HashMap死循环是因为元素的问题.但元素时刻都在改变.是否会出现自动死循环自动修复?
2.现在想重现这个死循环条件.但重现很难.高并发访问下出现几率也比较低.请问有没有什么好办法可以提高重现几率.
当前系统在高并发下出现进程CPU占用很高的问题.即使没有处理业务.也占用很高.后定位出原因可能是HashMap在高并发条件下会死循环.
有两个问题想请问下:
1.出现死循环的话.是否还会回复原样?即HashMap死循环是因为元素的问题.但元素时刻都在改变.是否会出现自动死循环自动修复?
2.现在想重现这个死循环条件.但重现很难.高并发访问下出现几率也比较低.请问有没有什么好办法可以提高重现几率.
1、高并发场景下HashMap可能会形成闭环,导致死循环。无法恢复,如果能自动恢复的话也不能称之为死循环了, :D
具体原因参考:
[url]http://www.iteye.com/topic/962172[/url]
2、可以在HashMap里面打上断点调试已经形成死循环的环境,可以看见问题。