java-hot-reload-agentjava 热更新插件
java 热更新插件,无需重启 java 进程实现代码更新,提高开发效率,节约时间去陪女朋友!
功能模块
- hot-reload-core: 核心处理逻辑,编译&加载 class
- hot-reload-agent: javaagent 入口
- hot-reload-watcher: 监听本地 java 和 class 文件变化,实现本地进程热更新
- hot-reload-server: api server,提供接口实现加载远程 jvm 进程
架构
支持本地模式和远程模式
基本原理
- watcher 监听本地文件变更(.class & .java)并缓存变更文件路径
- 将变更文件上传到 server 并保存在临时目录(本地模式忽略次步骤)
- 通过 javaagent 技术 attach 到 jvm 进程,拿到
Instrumentation
对象 - 使用自定义类加载器(与业务代码隔离)加载
hot-reload-core
编译 java 文件(如有) - 读取 class 文件字节码,通过
instrumentation.redefineClasses()
方法重新定义并加载 class
评论
RobustAndroid 热更新方案
Robust,美团开源的新一代热更新系统,对Android版本无差别兼容,无需发版就可以做到随时修改线上bug,快速对重大线上问题作出反应。Robust热更新系统借鉴InstantRun原理,实现了一
RobustAndroid 热更新方案
0
gradle-semantic-gitlog日志更新 gradle 插件
semantic-gitlog 是一个简单的基于常规提交的语义版本控制自动化版本管理工具。它可以自动定位和管理版本号并生成angular-style 风格的更新日志。gradle-semantic-g
gradle-semantic-gitlog日志更新 gradle 插件
0