手把手教你实现热更新功能,带你了解 Arthas 热更新背后的原理
摘自: https://www.cnblogs.com/goodAndyxublog/p/11880314.html 手把手教你实现热更新功能,带你了解 Arthas 热更新背后的原理 文章来源: https://studyidea.cn/java-hotswap 一、前言 # 一天下午正在摸鱼的时候,测试小姐姐走了过来求助,说是需要改动测试环境 mock 应用。但是这个应用一时半会又找不到源代码存在何处。但是测试小姐姐的活还是一定要帮,突然想起了 Arthas 可以热更新应用代码,按照网上的步骤,反编译应用代码,加上需要改动的逻辑,最后热更新成功。对此,测试小姐姐很满意,并表示下次会少提 Bug。 嘿嘿,以前一直对热更新背后原理很好奇,借着这个机会,研究一下热更新的原理。 二、Arthas 热更新 # 我们先来看下 Arthas 是如何热更新的。 详情参考: 阿里巴巴Arthas实践--jad/mc/redefine线上热更新一条龙 假设我们现在有一个 HelloService 类,逻辑如下,现在我们使用 Arthas 热更新代码,让其输出 hello arthas 。 Copy public class HelloService { public static void main(String[] args) throws InterruptedException {