1. 默认的热替换(Hot Swap)
IDEA 自带基本的类热替换功能:
修改方法体内部的代码后,按 Ctrl+Shift+F9(Windows/Linux)或 Cmd+Shift+F9(Mac)重新编译当前文件
调试器会自动应用这些更改(仅限方法体内部修改)
限制:不能添加/删除方法、字段,不能修改类的结构
2. JRebel(推荐)
最强大的热加载工具:
支持添加新方法、新字段、新类
支持修改注解、接口等结构性变更
无需重启即可生效几乎所有代码改动
需要安装插件并激活(商业软件,有试用期)
3. DCEVM(Dynamic Code Evolution VM)
开源的增强版热替换方案:
比默认 HotSwap 支持更多类型的修改
支持添加/删除方法和字段
需要替换 JVM 参数或使用专用 JDK
4. Spring Boot DevTools(Spring项目)
如果是 Spring Boot 项目:
自动检测文件变化并重启应用(比完全重启快)
配合 LiveReload 浏览器插件可自动刷新页面
默认禁用模板缓存
实用技巧
# 快速触发重新编译 Ctrl + Shift + F9 # 重新编译当前文件 Ctrl + F9 # 重新编译整个项目
我的建议:
简单的方法体修改 → 用默认 Hot Swap 就够了
频繁修改代码结构 → 强烈推荐 JRebel
Spring Boot 项目 → 结合 DevTools 效果更好