精华内容
下载资源
问答
  • Tomcat热部署热加载

    2019-01-24 14:16:00
    1、热部署热加载 在应用运行的时候升级软件,无需重新启动的方式有两种,热部署热加载。它们之间的区别是: (1)、部署方式: 热部署在服务器运行时重新部署项目。热加载在运行时重新加载class。 (2)、实现原理...

    1、热部署与热加载

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

    (1)、部署方式: 

    热部署在服务器运行时重新部署项目。
    热加载在运行时重新加载class。

    (2)、实现原理

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

    (3)、使用场景

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

     

    2、配置方式

    (1)、热部署

    <Context docBase="D:\svn\shengmakh\WebRoot" path="/shengmakh" reloadable="true"/>

     

    (2)、热加载

    <Context docBase="D:\svn\smknjkgb\WebContent" path="/smknjkgb" reloadable="false" crossContext="true" />

     

    转载于:https://www.cnblogs.com/luxd/p/10314225.html

    展开全文
  • 热部署热加载基本原理配置方式 基本原理 在应用运行的时候升级软件,无需重新启动的方式有两种,热部署热加载。 它们之间的区别是: 部署方式: 热部署在服务器运行时重新部署项目。 热加载在运行时重新...

    基本原理

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

    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。
    展开全文
  • java热部署热加载,以及配置tomcat实现热部署的方式 1、热部署热加载 在应用运行的时候升级软件,无需重新启动的方式有两种,热部署热加载。 它们之间的区别是: (1)、部署方式:  热部署在服务器运行时...

    java热部署与热加载,以及配置tomcat实现热部署的方式

    1、热部署与热加载
    在应用运行的时候升级软件,无需重新启动的方式有两种,热部署和热加载。
    它们之间的区别是:
    (1)、部署方式: 
    热部署在服务器运行时重新部署项目。
    热加载在运行时重新加载class。
    (2)、实现原理
    热部署直接重新加载整个应用,这种方式会释放内存,比热加载更加干净,但是它比热加载更加的浪费时间。
    热加载在运行时重新加载class,主要使用的是类加载机制,在实现方式上就是在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳发生变化,则将类重新载入。
    (3)、使用场景
    热部署更多的是在生产环境中使用,就是适用于频繁的部署并且启动耗时长的应用、无法停止服务的应用等。
    热加载则更多的是在开发环境中使用,用于开发,debug中,可以大大的提高开发效率。
    2、热加载的应用:
    struts2中的热加载应用:
    在struts2中热加载即开发者模式,在struts.xml配置
    <constant name="struts.devMode" value="true" />	
    这是开启开发者模式,每次更改代码不需要重启服务器就可以进行调试。
    3、配置tomcat实现热部署与热加载的方式
    (1)、在tomcat的webapps中新建一个与项目名相同的文件,并把项目下WebContent文件夹下的内容剪切到刚刚新建的文件夹中。这是tomcat自带的热部署。
    (2)、在tomcat\conf\server.xml中的Host标签中加上一个配置。
    <Context docBase="D:/test/web" path="/hot" privileged="true" reloadable="true"/> 
    path:指定访问该web应用的URL进口
    docBase:指定web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性【默认 
        指向tomcat的webapps】的相对路径;要是Web应用是个war文件,则指定war文件的路径。 
    reloadable:要是这个属性设置为true,Tomcat服务器在运行状况下会监视在WEB-INF/classess和WEB- 
        INF/lib目次下的class文件的改动,以及监视web应用的WEB-INF/web.xml文件的改动。要是检测到的class 
        文件或者web.xml文件被更新,服务器会自动加载Web应用。该属性的默认值为false.在web应用的开发和调 
        试阶段,把reloadable设为true,可以方便对web应用的调试。在web应用正式发布阶段,把reloadable设为 
        false,可以减低tomcat的运行负荷,提高Tomcat的运行性能。 
    (3)、在tomcat\conf\catalina\localhost中添加一个xml文件
    hot.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <Context docbase="D:/test/web" reloadable="true"/>
    服务器会使用xml文件的名字作为URL路径




    展开全文
  • 但是因为今天听到开发的同事在说在开发时不用重启项目采用热部署等等…啥的,因为之前我提到过开发时提升效率多数使用的是热加载,我知道热加载使用过多,存在内存溢出的隐患,但是我觉得这也许是分不清热部署和...

    说实话,本来这篇文章是不打算写的,但是因为今天听到朋友在说在开发时不用重启项目采用热部署等等…啥的,因为之前我提到过开发时提升效率多数使用的是热加载,我知道热加载使用过多,存在内存溢出的隐患,但是我觉得这也许是分不清热部署和热加载的区别,所以也许有朝一日我又给忘了(可耻),所以记录的,如果我的理解和记录有误,或者我压根就没说对,请千万指正。

    热部署:

    热部署在服务器运行时重新部署项目;
    热部署直接重新加载整个应用;
    热部署更多的是在生产环境使用;

    如果你是使用tomcat或者其他的服务器部署项目时,往往会打成war进行部署,那么如果是在分布式的多个项目运行的情况下了?你只为了部署其中一个项目而停止运行服务器去部署吗?那么其他的项目也会停止运行,采用热部署,在运行项目时,进行部署,不需要重新停止tomcat,而停止其他项目的运行,但是会清空内存,清空session等,重新打包,重新解压war包运行。

    但是实际上,我个人觉得,在大多数传统软件工程项目中,确切的需要使用热部署来部署项目的较少,也许是我井底之蛙了吧,由于云计算的兴起,热部署还是有其应用。

    在生产中,并没有需要频繁部署的应用,即使是敏捷,再快也是一周一次的迭代,并且通过业务划分和模块化编程,部署的代价完全可以忽略不计,对于现有的应用,启动耗时再长,也并非长到无法忍受,如果真的这么长,那更应该考虑的是如何进行模块拆分,分布式部署了。
    对于无法停止服务的应用,比如现在的云计算平台这样分布式应用,采用分批上线也可以满足需求,类似热部署方案应该是放在最后考虑的解决方案。

    热加载:

    热加载在运行时重新加载class;
    热加载则更多的实在开发环境使用,热加载有个通俗的名字就是开发者模式;
    为什么说热加载要在开发环境使用了,而不应该在生产环境中使用了?
    这不得不提它的安全性了,

    热加载这种直接修改jvm中字节码的方式是难以监控的,不同于sql等执行可以记录日志,直接字节码的修改几乎无法记录代码逻辑的变化,对既有代码行为的影响难以控制,对于越注重安全的应用,热加载带来的风险越大,这好比给飞行中的飞机更换发动机,而且频繁使用还会内存溢出。

    但在开发和debug中,频繁启动应用却随处可见,热加载机制可以极大的提升开发效率。这种机制,在开发中还有另外一种称呼—开发者模式。

    对于大型项目:往往启/停需要等待几分钟时间。更浪费时间的是,对于一个类中的方法的调试过程,如果修改多次,需要反复的启停服务器,浪费的时间更多。

    实现原理:

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

    对比反射机制,反射是在运行时获取类信息,通过动态的调用来改变程序行为;
    热加载则是在运行时通过重新加载改变类信息,直接改变程序行为。

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

    展开全文
  • 热部署:在服务器运行时重新加载部署整个应用。 热加载:在运行时重新加载class。 3、设置 1.修改Tomcat服务的server.xml文件中reloadable属性为true(核心)。 2.修改Tomcat发布方式为Never publish ...
  • 问题来源:eclipse和myeclipse中tomcat...问题引申:ava热部署与Java热加载的联系和区别Java热部署热加载的联系1.不重启服务器编译/部署项目2.基于Java的类加载器实现Java热部署热加载区别部署方式热部署在...
  • 自动解压:是server.xml文件中Host节点的autoDeploy。意思是把war包放到appBase下面就会被...热加载:是指修改项目内容而自动加载项目,不用重启tomcat <Context path="" docBase="" reloadable="true"/> pat
  • SpringBoot热部署

    2019-03-07 17:07:44
    SpringBoot热部署热部署热加载区别Tomcat实现热部署 热部署热加载区别 热部署就是将打包后的应用直接替换原有的应用,不用关闭或者重启服务器,侧重的是在服务器运行时重新部署项目。 热加载就是将修改后的...
  • war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别...因此这种方式支持热部署,一般在开发的时候也是用这种方式。
  • 含义解释 war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;...使用热部署的话,除了上述的deployment方式的选择外,还需要对Tomcat进行相应的设置,这样的话修改的jsp...
  • war模式:将web工程以war包的形式上传到服务器 war exploed模式:将web工程以当前文件夹的位置关系上传到服务器war模式这种可以称...因此这种方式支持热部署,一般在开发的时候也是用这种方式。在平时开发的时候,...
  • war模式:将WEB工程以包的形式上传到服务器 ;war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;1212(1)war模式这种可以称之为是发布模式...因此这种方式支持热部署,一般在开发的时候也是用这种...
  • war模式:将WEB工程一包的形式上传到服务器中。...war exploded模式是直接把文件夹、jsp页面、classes等等移到Tomcat部署文件夹里面,进行加载部署,因此这种方式支持热部署,一般我们在开发的时...
  • 部署tomcat时,会遇到一道选择题 是选择war 还是 war exploded呢?所以,首先我们得先知道他们的区别: 1.war:顾名思义,先打成war包再上传到服务器。...这种方式是支持热部署的,本人一般使用此方式...
  • war模式:将WEB工程以包的形式上传到服务器 ;  war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器 理解: (1)war模式这种可以称之为是发布模式,看...因此这种方式支持热部署,一般在开发的...
  • 区别 war模式:将WEB工程以包的形式上传到服务器 ;先打成war包,再发布到服务器上。 war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器...(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应
  • 最近复习JAVA类加载的相关知识,看到了热部署的实现原理,突然感觉这个好像不是以前Eclipse调试Tomcat的时候,修改代码不需要重启就可以调试的功能.查阅资料比较之后,发现不需要重启就可以继续调试的功能是"Hot ...
  • 区别 首先介绍一下两者的区别: war包我们通常称为发布模式,顾名思义就是在项目发布的时候,先将WEB工程打成war包,然后上传到...因此这种方式支持热部署,所以一般在开发的时候也是用这种方式。 遇到的问题 现在...
  • war模式:将WEB工程以包的形式上传到服务器 ; war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器; 1)war模式这种可以称之为是发布模式,看...因此这种方式支持热部署,一般在开发的时候也是用这...
  • 查看项目配置: 红框地方只留要部署的项目,tomcat里有多个web项目启动就会报这个错。 另外记一下war和war exploded区别: ... war:将WEB工程以包的形式...这种方式支持热部署,一般在开发的时候用这种方式。 ...
  • 在本章节中,以下几个问题会被回答: web容器和servlet容器的区别是什么;...tomcat是怎么实现的热部署; 1 Container基本结构 从上文中有讲到,Connector和Container的初始化工作是由Digest...
  • warh和war exploded区别: war模式这种可以称之为是发布模式,就是先将WEB工程打成war包,然后再将其上传到服务器进行发布 。...因此这种方式支持热部署,一般在开发的时候也是用这种方式。 在平时开发的时候,使...
  • 如果我们能弄清楚Tomcat和Socket、Tcp之间的... Tomcat热部署热加载区别是什么,到底是如何实现的,弄明白实现原理,能很大程度上提高Tomcat的运行效率。 Tomcat到底是如何处理一个请求的?这对于针对...
  • war模式:将WEB工程以包的形式上传到服务器 ; war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器; (1)war模式这种可以称之为是发布模式,看...因此这种方式支持热部署,一般在开发的时候也是...
  • 1.前言 1.1 问题思考 在阅读tomcat源码前,我们一般都会有如下几个疑问: web容器和servlet容器的区别是什么; 在springMVC中的web.xml是... tomcat是怎么实现的热部署; 一个http请求是怎么被tomcat监听到的,会...
  • 1.war和war exploded的区别(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;...(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

tomcat热部署热加载区别