IDE热加载与热部署
- 热加载则是在运行时通过重新加载class改变类信息,直接改变程序行为。
- 主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则将类重新载入。对比反射机制,反射是在运行时获取类信息,通过动态的调用来改变程序行为;
- 热部署就是在服务器运行时重新部署项目,
- 直接重新加载整个应用,这种方式会释放内存,比热加载更加干净彻底,但同时也更费时间。
- JRebel 加载的速度优于 devtools
- JRebel 不仅仅局限于 Spring Boot 项目,可以用在任何的 Java 项目中。
- devtools 方式的热部署在功能上有限制,方法内的修改可以实现热部署,但新增的方法或者修改方法参数之后热部署是不生效的。
JRebel
JRebel 可实现热加载,节省了大量重启时间,提高了个人开发效率。
虚拟机插件,即时分别看到类和资源的变化,直接反应在部署好的应用程序上,从而跳过了构建和部署的过程

激活
安装之后会提示输入license激活。使用下面的网址生成服务器地址GUID
如果失效刷新GUID替换就可以!
选择Team URL的方式激活
服务器地址:<font style="color:rgb(77, 77, 77);">https://jrebel.qekang.com/{GUID}</font>
邮箱:自己的邮箱即可
之后按照提示操作即可。
通过JRebel启动项目。通过快捷键 Ctrl+shift+F9 或者 command + S 使得修改生效。
相关设置
离线工作模式,Work offline

设置自动编译

支持下面的这些类型的文件改变:
- 改变Java classes文件.
- 改变框架配置文件 (e.g. Spring XML files and annotations, Struts mappings, etc).
- 任何静态资源文件 (e.g. JSPs, HTMLs, CSSs, XMLs, .properties, etc)
devtool
https://blog.csdn.net/u013042707/article/details/78648259
原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。
其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为 restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
<build>
<finalName>www.fitness.manager.com</finalName>
<plugins>
<!--用于将应用打成可直接运行的jar(该jar就是用于生产环境中的jar) 值得注意的是,
如果没有引用spring-boot-starter-parent做parent,且采用了上述的第二种方式,
这里也要做出相应的改动 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--fork: 如果没有该项配置,devtools不会起作用,即应用不会restart -->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
参考链接:
https://www.cnblogs.com/sfnz/p/14157833.html?ivk_sa=1024320u
https://blog.csdn.net/lianghecai52171314/article/details/105637251
https://blog.csdn.net/weixin_44233253/article/details/118788185
posted on 2025-10-14 22:48 chuchengzhi 阅读(42) 评论(0) 收藏 举报
浙公网安备 33010602011771号