热部署和热加载

热部署: 相当于容器重启,整个项目从新部署。会清空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为例,


参考学习:http://blog.jobbole.com/48582/?repeat=w3tc

<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为例,


参考学习:http://blog.jobbole.com/48582/?repeat=w3tc

猜你喜欢

转载自1181731633.iteye.com/blog/2381897