1.下载:wget https://arthas.aliyun.com/arthas-boot.jar
2.运行arthas:java -jar arthas-boot.jar
3.开始更新操作:
# 反编译
$ jad --source-only com.jingmai.video.live.order.service.impl.ApplerPayServiceImpl > /tmp/ApplerPayServiceImpl.java
# 修改文件(不在arthas 的控制台,新开一个会话,在centos的控制台操作)
$ vim /tmp/ApplerPayServiceImpl.java (在java文件中加入逻辑)
# 查找被修改的java类的加载的 ClassLoader
$ $ sc -d *ApplerPayServiceImpl | grep classLoaderHash
classLoaderHash 6bc28484
# 编译
$ mc -c 6bc28484 /tmp/ApplerPayServiceImpl.java -d /tmp
# 热更新
$ redefine /tmp/com/jingmai/video/live/order/service/ApplerPayServiceImpl.class
redefine success, size: 1
快速退出某个命令:Q或者Ctrl+C
退出Arthas: exit或者quit, 退出当前session,Arthas server还在目标进程中运行。
彻底退出: stop. 用完一定要stop哦,避免Arthas server依然运行占用系统资源。