×

java-hot-reload-agent java热更新插件

消耗积分:2 | 格式:zip | 大小:23.75 MB | 2022-06-14

王涛

分享资料个

授权协议 MIT
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 开发工具Java开发工具

软件简介

java 热更新插件,无需重启 java 进程实现代码更新,提高开发效率,节约时间去陪女朋友!

功能模块

  • hot-reload-core: 核心处理逻辑,编译&加载 class
  • hot-reload-agent: javaagent 入口
  • hot-reload-watcher: 监听本地 java 和 class 文件变化,实现本地进程热更新
  • hot-reload-server: api server,提供接口实现加载远程 jvm 进程

架构

poYBAGKjJWCAD4hFAAEaVe3Hbz4391.jpg

支持本地模式和远程模式

基本原理

  1. watcher 监听本地文件变更(.class & .java)并缓存变更文件路径
  2. 将变更文件上传到 server 并保存在临时目录(本地模式忽略次步骤)
  3. 通过 javaagent 技术 attach 到 jvm 进程,拿到Instrumentation对象
  4. 使用自定义类加载器(与业务代码隔离)加载 hot-reload-core 编译 java 文件(如有)
  5. 读取 class 文件字节码,通过instrumentation.redefineClasses()方法重新定义并加载 class

 

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !