Java服务端程序“假死”怎么办?( 三 )


...while (Objects.nonNull(cur)) {allCateName.insert(0, "/");allCateName.insert(0, cur.getCateName());cur = goodsCatePOMap.get(cur.getCateParentId()); } ...

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
Part 04、  总结 对于Java服务端假死,可以通过本文介绍的三把斧,利用一些常用工具来对程序内部的运行状态进行分析 。掌握这个方法后,基本上可以定位到工作中碰到的90%以上的java程序假死问题 。下表是对可能的假死原因做一个简单的归纳总结:
假死原因
系统负载
进程CPU使用率
问题定位方案
内存泄漏/内存不够


jstat确认内存问题,jmap堆转储定位内存问题
死循环


jstat确认内存正常 , jstack定位代码行
IO等待


jstack定位代码行
死锁


jstack定位死锁代码行

【Java服务端程序“假死”怎么办?】


推荐阅读