热部署: 相当于容器重启,整个项目从新部署。会清空session ,释放内存。项目打包的时候用的多。
<Context docBase="xxx" path="/xxx" autoDeploy="true"/> #或者 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context docBase="xxx" path="/xxx"/> </Host>
热加载:服务器会监听class文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。
<Context docBase="xxx" path="/xxx" reloadable="true"/>
一、热部署
在项目线上更新时,可能会遇到需要热部署的情况,虽然现在大多数公司由于业务量大采用了分布式集群,可以分批次的重启更新。但是还是有需要热部署,这里留个笔记。
实现原理:以tomcat为例,是在启服时,自动开一个线程,定时检查是否有改动,然后执行重启(stop,start)操作。
二、热加载原理,其实这里说的是指,不需要重启就能生效,一般用于改方法体的类热加载。
实现原理:以tomcat为例,
<Context docBase="xxx" path="/xxx" autoDeploy="true"/> #或者 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context docBase="xxx" path="/xxx"/> </Host>
热加载:服务器会监听class文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。
<Context docBase="xxx" path="/xxx" reloadable="true"/>
一、热部署
在项目线上更新时,可能会遇到需要热部署的情况,虽然现在大多数公司由于业务量大采用了分布式集群,可以分批次的重启更新。但是还是有需要热部署,这里留个笔记。
实现原理:以tomcat为例,是在启服时,自动开一个线程,定时检查是否有改动,然后执行重启(stop,start)操作。
二、热加载原理,其实这里说的是指,不需要重启就能生效,一般用于改方法体的类热加载。
实现原理:以tomcat为例,