Java 调试技巧与 JDB
面试官问:"Java 程序出了问题怎么调试?"
候选人小任答:"用 IDE 的调试器打断点。"
面试官追问:"没有 IDE 的时候怎么调试?"
小任说:"加日志?"
面试官追问:"用 JDB 调试过吗?"
小任答不上来。
【面试官心理】 这道题考查的是候选人的调试能力。能说出 jstack、jmap、jvisualvm、arthas 等工具的候选人,说明有生产环境排查经验。
一、JDB 基础调试 🔴
1.1 启动 JDB
1.2 常用命令
1.3 实际例子
二、进程诊断工具 🔴
2.1 jps - 查看 Java 进程
2.2 jstack - 线程堆栈
2.3 jmap - 内存分析
2.4 jstat - 性能统计
三、可视化工具 🔴
3.1 jvisualvm
3.2 arthas(阿里诊断工具)
四、远程调试 🟡
4.1 JDWP 配置
4.2 IDEA 远程调试
五、生产问题排查 🟡
5.1 CPU 100%
5.2 OOM 排查
六、追问升级
面试官:"arthas 的 watch 命令是怎么实现的?"