提升效率神器!手写一款Java热部署插件HotSeconds

前言

我们在开发调试的过程中,经常在打包和重启服务器中消耗大量的时间,这将浪费我们大量的青春,这里介绍一款本人开发的Java远程热部署插件HotSeconds(当然也可以本地热部署),包括HotSecondsServer和HotSecondsClient,相对传统部署来说,效率可以提升百倍。

功能演示

1.热部署代码

包括修改代码,新增字段,新增方法,新增类,打破了原生JDK中Instrument机制只能修改方法体的不足。同时还支持一些常用框架的热更新,比如Spring新增一个Autowired字段或者SpringMVC新增一个Controller方法,也是支持热更新的。

下面演示一个新增SpringMVC字段和方法的热部署

2.热部署资源文件

下面演示一个热部署MyBatis的xml文件,也是右键直接热部署生效

3.批量热更新修改的文件

修改了多个文件的情况下,直接打开热部署面板,可将修改过的文件热部署到服务器,支持按文件修改时间戳热部署,也可以将版本控制下(Git/SVN等)未提交的文件热部署

4.触发执行远程函数

无需调用远程Http或者RPC接口,就能直接触发需要的函数,这对于调试来说可是非常方便的,当然也包括在沙箱环境修复脏数据。

直接在函数上右键选择远程执行函数,即可触发具体的函数逻辑,这里分为四种情况,静态,非静态,有参数,无参数。

无参数可以直接触发,如果是非静态字段,会弹出当前类的所有对象的选择框,选择后触发。

有参数的情况,会弹出对象选择框和参数输入框,输入选择后触发逻辑。 目前参数只支持byte,short,boolean,char,int,double,float,long,Bigdecimal。

复杂参数的函数,可以写一个静态无参的函数,触发需要的函数,然后远程热部署整个新写的静态无参的函数的类即可。

5. 远程查看字段值

包括静态字段和非静态字段,直接在字段上右键,就能查看该字段的值。

非静态字段是先弹出显示当前类的所有对象实例的框,选择具体的对象后即可获取该对象的字段值。

安装教程

详见 github.com/Liubsyy/Hot...

相关推荐
vx-程序开发4 分钟前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
计算机魔术师22 分钟前
【AI面试八股文 Vol.3.4:训练微调部署选型】从预训练到量化部署:LLM 工程落地如何做模型选择
人工智能·后端·面试·架构·moe·vol.3.3·vol.3.4
明月_清风25 分钟前
从零到一构建生产级 AI Agent:架构拆解 × Python 高并发实战 × 技术选型方法论
后端·agent
LCG元34 分钟前
RAG工程指南:从基础检索到生产部署全解析
java·运维·数据库
石榴树下的七彩鱼1 小时前
医疗票据 OCR 识别 API 多场景落地指南:医保结算 + 商保理赔 + 医疗信息化(附 Python/Java 完整示例)
java·python·ocr·石榴智能·医疗票据ocr·医保结算·ocrapi
C137的本贾尼1 小时前
Spring AI Alibaba 开箱:国产百炼大模型初体验
java·人工智能·spring
金銀銅鐵1 小时前
[Java] 如何理解 class 文件中字段的 access flags?
java·后端
小短腿的代码世界2 小时前
Qt国际化深度解析:从源码到企业级多语言实践
java·数据库·qt
凌冰_2 小时前
IDEA 集成Claude Code
java·ide
SXJR2 小时前
Java中的Cross-Encoder模型解决方案
java·开发语言