前言
最近翻看以前写的 PPT, 发现了在2019年做的一次技术分享,关于 Java 问题排查,由于没什么公司机密可言,整理下分享给大家~
线上问题处理流程
直接放PPT截图吧,现在看来依然不过时
问题排查
可从三个方面入手
- 知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题~
- 工具:当然不是每个人都能做到过目不忘,也有可能这代码完全不是你写的,这时就需要靠工具来定位问题
- 数据:程序运行时产生的数据,也能提供很多线索
知识
知识有很多方面,这里简单列举一下:
- 语言(本文特指 Java):如 JVM 知识、多线程知识等
- 框架:如 Dubbo、Spring 等
- 组件:如 Mysql、RocketMq 等
- 其他:如网络、操作系统等
举个例子,我们需要理解 Java 对象从申请到被回收整个过程,这个图非常清晰,建议烂熟于心:
然后也要