热部署和热加载是什么?

热部署是什么?

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

热加载是什么?

热加载全称Hot Swap,主要针对已编译的源码生成的字节码,重新编译后,不需要停机,直接重新加载该更新后文件新的字节码到内存中。

个人理解:热部署和热更新主要是解决频繁重启服务的导致体验和效率不佳。热部署可以从0-1,或从1-1,比如 买来的方便面在家里直接泡个开水开吃,或者直接排骨熬汤上。热加载就很有限了,就像你在高铁上条件有限,仅能加开水开干。

热部署和热加载对比

对比名称

热部署

热加载

需要重启

不需要

不需要

对针面

整个应用或容器,新增或减少的文件、文件夹

局部(针对变动的源码)

内存清除

不会,可能引发OOM

最后

不管理热部署和热加载,其实最终目的是无需要重启服务,实现服务自动化加载,只是说热部署更全面,针对的是整个项目,而热加载仅针对变更的文件代码做局部更新,对于新文件或目录无效,需要重部署。当然对于java语言来说,热加载属于比较成熟的技术,而对于tomcat来说热部署也是比较方法,直接把文件丢进webapp自动就部署上了。在不同的场景会有不同的使用。像ideea、vscode很多ide都会实现热部署的功能,所以在开发层面极大提升我们研发的效率。

参考文章:

https://blog.51cto.com/u_11103019/3766234

https://www.cnblogs.com/lanqingzhou/p/13590334.html

https://www.cnblogs.com/diexian/p/13501359.html

https://blog.51cto.com/u_13567403/3043758

https://blog.csdn.net/zhanglh046/article/details/115843463

热部署和热加载有什么区别?相关推荐

  1. 热部署与热加载的区别

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

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

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

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

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

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

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

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

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

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

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

  7. 服务器支持热部署吗,热部署

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 中文名 热部署 外文名 Hot deployment 热部署 ...

  8. django 热启动_uwsgi 热部署 热启动 热更新

    我这里介绍一下使用 选项提供的热部署方法.还有两个相似选项: . uwsgi的选项使用方法有两种: 1,在启动uwsgi的命令中加入选项,但选项前必须带--(两横) 2,在配置文件中拿一行出来填入一个 ...

  9. idea热部署-解决热部署失效问题-【伸手党福利】

    原因:同时跑着两个springboot,导致maven混乱. 首先,清理缓存:maven>install 如果不行,执行下图 检查或配置项: https://blog.csdn.net/zy10 ...

最新文章

  1. oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
  2. windows 下 putty 登陆服务器 显示matlab图形界面
  3. php表单服务器验证失败,php 表单验证代码(验证失败显示提示信息)
  4. Go image: unknown format 错误解决
  5. boost::filesystem模块实现打印window属性的测试程序
  6. JDBC常用API小结
  7. Python基础项目实践之:面向对象方法模拟简单计算器
  8. 前端开发中的性能那点事(三)php的opcode缓存
  9. centos将某一目录权限给用户_centos7如何新建普通权限用户,仅能访问指定目录,使用gcc?...
  10. mysql 集群怎么卸载节点_Redis集群重新分片(新增/移除节点)【理论】
  11. Principles of Reactive Programming 之Actors are Distributed (3)
  12. python全套完整教程-Python全套教程
  13. 电脑一窍不通可以学计算机吗,对电脑一窍不通,要如何学重装系统?你想学的方法在这里!...
  14. 基于node.js和Vue的音乐管理系统 /音乐网站的设计与实现
  15. 黑马程序员_毕向东_Java基础视频教程第01天_20151010(六)
  16. Dhtmlx Gantt 快速入门至精通
  17. java拍照控件焦距问题,监控摄像头镜头焦距计算方法
  18. ARM Mali-V VPU视频处理单元介绍 V61 V550 V500
  19. 04 带宽管理的队列规定
  20. 解析聚合新闻数据,并显示到主界面上(简易新闻 二)

热门文章

  1. CV之FR/FD:人脸识别之Face Detection人脸检测原理及其常见分类技术
  2. 本地运行vue dist文件
  3. 以太坊轻钱包MetaMask安装
  4. html自动弹出一个小窗口,JS弹出小窗口实例
  5. tp的think-queue的队列使用
  6. 计算平均值,保留小数点后一位
  7. JS创建数组的三种方法
  8. 微软PC与Xbox One实现跨平台联机
  9. 【求职】阿里巴巴 2017 实习生笔试题(一)
  10. hub设备_颜值体验都出色,ORICO工业级多口分控HUB体验