Arthas,热更新线上代码神器

文章介绍了如何使用Arthas工具进行Java代码的热更新,避免频繁的打包部署。通过`jad`反编译,`mc`内存编译和`redefine`重新加载新类文件,实现了对jar和war包项目的代码修改并立即生效。示例详细解释了针对jar和war包不同部署形式的热更新步骤。

大家好,我是小悟

 

前言

日常开发过程中,可能会遇到小问题,本地代码改完后,总得重新打包部署,线上代码才会生效,这样太麻烦了,这个时候就可以考虑使用Arthas(阿尔萨斯)工具来热更新线上代码,先使线上的功能能使用,后面有大的迭代版本的时候再打包部署。笔者使用了这个工具,发现这个操作实在是太好用了,在此做下笔记,以供后续参考。

示例

本文示例根据项目打包部署的格式不同分为两种情况,一种是jar包,一种是war包。

本文以 Arthas 3.3.3 版本为例,主要使用到 jad/sc/mc/redefine 三个指令。

首先,下载 arthas-boot.jar,进入服务器某个目录下,比如是/data/下,执行

2、启动:java -jar arthas-boot.jar
复制代码

1、jar包的情况:

进入服务器某个目录下,比如是/data/下,下载官方demo并启动

arthas-demo是一个简单的程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果,我们想要热更新代码,在打印的信息上加上“打印出信息来看===”这几个字。

1、下载:curl -O https://alibaba.github.io/arthas/arthas-demo.jar
2、启动:java -jar arthas-demo.jar
复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值