古代,习武之人都会找自己称心如意的兵器,悟空甚至远到龙宫去寻宝。刘关张结义之后马上 DIY 自己称手的兵器。
我们开发人员也是一样,我们在问题的分析诊断过程中,Debugging 和 Troubleshooting 工具起了很大的作用,有一个称手的工具,能节省大量的精力,快速解决原本需要耗费许久的工作。
当然,已经有大量的工具可以用于问题分析诊断,比如我们前面介绍过的两款:
但比分析应用更底层的,Low Level 到 JVM 这一层级的工具却比较少。
比如有些时候,你在分析一个应用问题时,想要了解应用当前内存结构,加载类的内容,线程的 Stack Memory,死锁分析,存活对象统计和查询等等。
以上这些,用哪款工具比较合适呢?这些比较低层的分析,只能依靠 JVM 的支持,才能正确的分析。好在官方提供了这样一款工具。
这就是我们本次要提到的工具,或者准确来说是个工具集,但提供给我们使用时,类似于一站式的感觉。在一个工具里完成大量的需求,它是 Serviceability Agent,更多时候被称为 SA。