1. 热部署的使用场景:
改动代码需要重启服务器 降低调试成本
2. 热部署和热加载的联系和区别
联系:不重启服务器编译/部署项目
基于Java的类加载器实现
区别: 热部署在服务器运行时重新部署项目
热加载在服务器运行时重新加载class
实现原理的区别:
热部署重新加载整个应用 会释放内存 浪费时间
热加载在运行时重新加载class 启动后台线程 检测类的时间戳是否变化来加载类
使用场景的区别:
热部署在生产环境使用
热加载更多的是在开发环境使用 直接修改字节码 难以控制
热部署的实现方式
使用Spring Loaded
使用Spring-boot-devtools 在Maven中引入Spring-boot-devtools依赖即可,每次修改代码之后,按CTRL+F9即可。