Jrebel热加载

最近项目开发的时候,代码发生修改了就要重启一下再看看效果,然后项目启动要一分多钟,感觉效率很慢于是就上网找了些资料自己整理了一下可以使用JRebel进行热部署可以即时看到代码修改后的效果

安装激活Jrebel

方法一:

  1. 在plugin中找到Jrebel进行下载
    在这里插入图片描述

  2. 开启IDEA的自动编译功能
    给build project automatically勾上
    在这里插入图片描述

  3. 勾选注册表中idea自动编译的功能(可能找不到)
    ctrl+shift+alt+/ 选择Registry

在这里插入图片描述
在这里插入图片描述
找到compiler.automake.allow.when.app.running这行勾上

方法二:
我在IDEA的注册表中没有找到这个无法实现,所以找了下面这种方法成功
下载反向代理:激活软件
在这里插入图片描述
我这里选择了windows64.exe这个版本
然后双击exe运行
在这里插入图片描述

  1. 在IDEA中一次点击 File->Settings->JRebel 并找到激活界面
    点击active
    在这里插入图片描述
  • 第一行输入:http://127.0.0.1:8888/+UUID
    UUID生成工具:UUID生成
  • 第二行输入邮箱地址
  1. 把JRebel设置为offline模式 选择work offline
    在这里插入图片描述

使用说明

  1. 项目初次使用,需要先生成rebel.xml文件
    JRebel安装完成后,idea左侧出现JRebel的工具窗口,如下图所示:
    在这里插入图片描述
    选中要进行热加载的项目,我这里只是勾选需要修改的项目模块本地运行

  2. 以JRebel方式启动
    在这里插入图片描述

  3. 修改java代码测试热加载
    出现 JRebel: Reloading class xxx 的时候,说明JRebel热加载完成
    出现reload class
    如果JRebel的自动热加载慢,可以按ctrl+F9热加载成功

Jrebel热加载原理

热加载的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则将类重新载入。
热加载则是在运行时通过重新加载改变类信息,直接改变程序行为。

热部署原理类似,但它是直接重新加载整个应用,这种方式会释放内存,比热加载更加干净彻底,但同时也更费时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值