写在文章开头
Arthas
是一款强大的开源Java
诊断程序,它可以非常方便的启动并以界面式的方式和Java
程序进行交互,支持监控程序的内存使用情况、线程信息、gc情况、甚至可以反编译并修改现上代码等。所以它成为笔者进行线上问题排查的重要手段,而本文将从实际使用的角度介绍一下arthas
的基本使用技巧,希望对你有帮助。
我是 SharkChili ,Java 开发者,Java Guide 开源项目维护者。欢迎关注我的公众号:写代码的SharkChili,也欢迎您了解我的开源项目 mini-redis:https://github.com/shark-ctrl/mini-redis。
常见的运维操作示例
反编译查看代码
上文我们其实已经用到了jad这个反编译命令,对于笔者来说,jad
有两种比较常见的用法,除了上述那种反编译类的指令jad --source-only 类的包路径
,还有一种定位方法代码段的命令jad --source-only 类的包路径 方法名
。
例如笔者想定位TestController
的deadLock
代码,我们就可以键入