https://github.com/alibaba/arthas
镜像地址 https://gitee.com/arthas/arthas
基本原理: 工具atach到jvm进程上, 和远程debug类似 参考premain agentmain
比较有用的内容:
查看线程数
查看cpu,内存占用率
查看方法调用参数,响应时间
反编译线上代码
1. 反编译 jad的用法
下载地址
linux下载这个
命令行下面使用方式: jad -sjava xxx.class
2. 类冲突,查看类是哪个jar加载的
sc -d xxx.xxx.Xxx
3. 热修复
redefine
cglib代理过的类能替换 内部类替换
默认controller没有使用cglib代理, 在使用AOP拦截controller时会生成cglib的代理