[Web容器](一)Tomcat热部署和热加载

基本原理

在应用运行的时候升级软件,无需重新启动的方式有两种,热部署和热加载。
它们之间的区别是:

1、部署方式:

  • 热部署 整个项目重新部署,会清空session ,释放内存。
  • 热加载 服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。

2、实现原理:

  • 热部署直接重新加载整个应用,这种方式会释放内存,比热加载更加干净,但是它比热加载更加的浪费时间。
  • 热加载在运行时重新加载class,主要使用的是类加载机制,在实现方式上就是在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳发生变化,则将类重新载入。

3、使用场景:

  • 热部署更多的是在生产环境中使用,就是适用于频繁的部署并且启动耗时长的应用、无法停止服务的应用等。
  • 热加载则更多的是在开发环境中使用,用于开发,debug中,可以大大的提高开发效率。

配置方式

  1. 热部署
<Context docBase="xxx" path="/xxx" autoDeploy="true"/>
  1. 热加载
<Context docBase="xxx" path="/xxx" reloadable="true"/>

IDEA热部署

  1. jrebel 插件
  2. 修改服务器配置:菜单Run -> EditConfiguration , 然后配置指定服务器下,右侧server标签下on frame deactivation = Update classes and resource。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值