发现一个比较好的热更工具,阿里提供的Arthas ,官网地址:https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn&id=arthas-advanced,官方稳定也比较清楚,这里我做一个个人的备忘,也是分享。
1、下载
wget https://arthas.aliyun.com/arthas-boot.jar
2、启动
java -jar arthas-boot.jar、再选择对应的java进程
3、找到对应类的加载类:sc -d *ClubModel* | grep classLoaderHash
4、通过指定类加载器编译新的java文件:
mc -c <classLoaderHash> /tmp/UserController.java -d /tmp
classLoaderHash 参数就是上面的类加载器的hash码
5、使用redefine
命令重新加载新编译好的class文件
6、完成后试下实验效果。
注意点 :不能更改方法名和参数类型、内部类、更改属性都不可以。重启后 更新的class 失效。