Java 快速实现热更新(Arthas工具的使用)

使用阿里巴巴提供的Arthas工具,实现快速的代码热更新!

目标:使用阿里巴巴提供的Arthas工具,实现java服务不停的情况下,快速修改服务问题并热更新到服务.

工具的下载(Arthas、http服务demo、Arthas文档)


Arthas工具的下载:(小编的百度云盘)

链接:https://pan.baidu.com/s/1qF3z3NXehDFb__sJiqN9Iw 
提取码:583c 

Arthas文档下载:(小编的百度云盘)

链接:https://pan.baidu.com/s/1NQIQVR4TJ06AoXRBMXhBTw 
提取码:9dl7 

小编的http服务demo下载:(小编的百度云盘)

注意:这个demo是小编自己用netty写的http服务,具体的可以参考(里面有源码下载):https://www.jianshu.com/p/c21b1e280d19
链接:https://pan.baidu.com/s/1EwvQLEbEocbDTmBTPFu5Sw 
提取码:brqk 
  • 下载的http服务demo下载并解压出来
image.png
  • 使用cmd 运行demo 端口为:8888


    image.png
  • 访问http服务

注意:msg:'你好' 我们就是使用Arthas工具,将“你好”修改为"liuyuexinchen" 第二次访问的时候输出的是“liuyuexinchen”
image.png
  • 解压Arthas并使用cmd运行


    image.png
  • 选定要修改的进程下表


    image.png
  • 浏览器访问


    image.png
  • 查询当前http服务加载的全部类


    image.png
  • 使用 jad 反编译指定的类


    image.png
  • 将指定的类反编译并输出到制定的路径


    image.png
  • 修改msg提示内容为“liuyuexinchen”


    image.png

    image.png
  • 获取TestGetServer的classLoader的hash数值


    image.png
  • 使用mc 指令 对内存编译


    image.png
  • 使用redefine 进行热更新操作


    image.png
  • 验证热更新是否成功!


    image.png

♪(^∇^*) ************ 小编验证成功了!!
♪(^∇^*) ***********希望能帮到您!!!!!!!

你可能感兴趣的:(Java 快速实现热更新(Arthas工具的使用))