在应用运行的时升级软件,无需重新启动的方式有两种,热部署和热加载。对于Java应用程序来说,热部署就是在服务器运行时重新部署项目,热加载即在在运行时重新加载class,从而升级应用。

热加载的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则将类重新载入。对比反射机制,反射是在运行时获取类信息,通过动态的调用来改变程序行为;热加载则是在运行时通过重新加载改变类信息,直接改变程序行为。热加载可以极大地提高开发效率。

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

热部署与热加载的区别相关推荐

  1. SpringBoot+gradle+idea实现热部署和热加载

    前言 因为之前使用myeclipes的同学就知道,在使用myeclipes的时候,java文件或者jsp文件写完之后会被直接热加载到部署的容器中,从而在开发的时候,不同经常去重启项目,从而达到了增加开 ...

  2. java 不重启部署_编译Java类后不重启Tomcat有两种方式:热部署、热加载

    不重启Tomcat有两种方式:热部署.热加载 热部署:容器状况在运行时重新部署整个项目.这类环境下一般整个内存会清空,重新加载,这类方式 有可能会造成sessin丢失等环境.tomcat 6确实可以热 ...

  3. 热部署和热加载有什么区别?

    热部署和热加载是什么? 热部署是什么? 热部署全称Hot deploy,主要是针对容器或应用,若新增资源或部分源码更新,在不需要重启的情况下进行重新加载或部署. 热加载是什么? 热加载全称Hot Sw ...

  4. 关于同步加载与异步加载的区别

    关于同步加载与异步加载的区别 同步加载:同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像).渲染.代码执行. 异步加载:异步加载又叫非阻塞,浏览器在下 ...

  5. 基于Flask+Nginx+uWSGI实现CentOS服务端模型部署及预加载

    基于Flask+Nginx+uWSGI实现CentOS服务端模型部署及预加载http://www.manongjc.com/article/37802.html

  6. tomcat 热部署、热加载 精析

    1.前言 找了很多篇文章,没有一篇文章讲的清晰.明了,很多人只是会用,但不是能真正说明白,这年头找个懂理论的,真难! 2.热部署 原定义:tomcat处于运行状态时,能够监测webapps下的文件,如 ...

  7. 动态加载、插件化、热部署、热修复(更新)知识汇总

    开发中经常能听到动态加载,插件化,热部署等词,动态加载到底是何方神物,它能实现什么功能,实现原理又如何?动态加载和插件化.热部署又有着什么样的联系呢?下面我们一起来学习吧. 1. 基本知识 1.1 动 ...

  8. Spring Boot 热部署(热加载)

    idea 热部署作用:自动帮开发者重启 spring boot 项目,从而达到修改代码之后能够"实时"的看到最新的效果 1.添加热部署框架支持 <dependency> ...

  9. Java Class的热替换 自定义ClassLoader加载.class

    本文是java热替换的实验,参考了 Java 类的热替换 -- 概念.设计与实现 http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/i ...

最新文章

  1. JSON.parse解析特殊字符报错解决方案
  2. 组态王字符串转换整数_字符串转换整数(LC8)
  3. retinaface训练笔记
  4. oracle使用sqlplus创建表空间
  5. [crypto]-10-openssl版本介绍
  6. 画胖小人和瘦小人,建造者模式版本
  7. SAP UI5 initialization error
  8. 行动力决定了一个人的成败,有想法,就去做! C#的内存管理原理解析+标准Dispose模式的实现
  9. 如何将32 x 32像素图标转换为16 x 16像素值的图标
  10. 请查收,一份让你年薪突破20W的Python爬虫笔记!
  11. JVM调优日志解析分析
  12. vue里面v-once/ref【获取标签里面的内容】
  13. UIMenuController,UIPasteboard:复制,粘贴详细解释
  14. 通过python和websocket构建实时通信系统[扩展saltstack监控]
  15. 启动凤凰系统出现android,凤凰系统重启后出现蓝屏时的解决方法
  16. amd服务器开启虚拟化技术,在AMD平台上实现KVM虚拟化技术
  17. 【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码
  18. java gzip rest_使用restclient或postman发送gzip数据
  19. js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)
  20. constexpr specifier

热门文章

  1. 一个好玩的题,asp.net可作为面试题的递归算法
  2. 鉴别器 discriminator
  3. 注册页面邮件发送激活码
  4. Java 读取Word文档中的文本内容
  5. 适用于软件开发人员的Rational Team Concert命令行参考
  6. 【工作流Activiti7】1、入门篇
  7. 林业调查巡检数据采集解决方案
  8. 在Linux下安装配置蒲公英 私网环境轻松实现异地SSH远程管理
  9. 纪念光棍节11.11------程序员的节日
  10. 小熊猫C++中配置OpenCV