热部署和热加载有什么区别?
热部署和热加载是什么?
热部署是什么?
热部署全称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
热部署和热加载有什么区别?相关推荐
- 热部署与热加载的区别
在应用运行的时升级软件,无需重新启动的方式有两种,热部署和热加载.对于Java应用程序来说,热部署就是在服务器运行时重新部署项目,热加载即在在运行时重新加载class,从而升级应用. 热加载的实现原理 ...
- SpringBoot+gradle+idea实现热部署和热加载
前言 因为之前使用myeclipes的同学就知道,在使用myeclipes的时候,java文件或者jsp文件写完之后会被直接热加载到部署的容器中,从而在开发的时候,不同经常去重启项目,从而达到了增加开 ...
- java 不重启部署_编译Java类后不重启Tomcat有两种方式:热部署、热加载
不重启Tomcat有两种方式:热部署.热加载 热部署:容器状况在运行时重新部署整个项目.这类环境下一般整个内存会清空,重新加载,这类方式 有可能会造成sessin丢失等环境.tomcat 6确实可以热 ...
- tomcat 热部署、热加载 精析
1.前言 找了很多篇文章,没有一篇文章讲的清晰.明了,很多人只是会用,但不是能真正说明白,这年头找个懂理论的,真难! 2.热部署 原定义:tomcat处于运行状态时,能够监测webapps下的文件,如 ...
- 动态加载、插件化、热部署、热修复(更新)知识汇总
开发中经常能听到动态加载,插件化,热部署等词,动态加载到底是何方神物,它能实现什么功能,实现原理又如何?动态加载和插件化.热部署又有着什么样的联系呢?下面我们一起来学习吧. 1. 基本知识 1.1 动 ...
- Spring Boot 热部署(热加载)
idea 热部署作用:自动帮开发者重启 spring boot 项目,从而达到修改代码之后能够"实时"的看到最新的效果 1.添加热部署框架支持 <dependency> ...
- 服务器支持热部署吗,热部署
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 中文名 热部署 外文名 Hot deployment 热部署 ...
- django 热启动_uwsgi 热部署 热启动 热更新
我这里介绍一下使用 选项提供的热部署方法.还有两个相似选项: . uwsgi的选项使用方法有两种: 1,在启动uwsgi的命令中加入选项,但选项前必须带--(两横) 2,在配置文件中拿一行出来填入一个 ...
- idea热部署-解决热部署失效问题-【伸手党福利】
原因:同时跑着两个springboot,导致maven混乱. 首先,清理缓存:maven>install 如果不行,执行下图 检查或配置项: https://blog.csdn.net/zy10 ...
最新文章
- oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
- windows 下 putty 登陆服务器 显示matlab图形界面
- php表单服务器验证失败,php 表单验证代码(验证失败显示提示信息)
- Go image: unknown format 错误解决
- boost::filesystem模块实现打印window属性的测试程序
- JDBC常用API小结
- Python基础项目实践之:面向对象方法模拟简单计算器
- 前端开发中的性能那点事(三)php的opcode缓存
- centos将某一目录权限给用户_centos7如何新建普通权限用户,仅能访问指定目录,使用gcc?...
- mysql 集群怎么卸载节点_Redis集群重新分片(新增/移除节点)【理论】
- Principles of Reactive Programming 之Actors are Distributed (3)
- python全套完整教程-Python全套教程
- 电脑一窍不通可以学计算机吗,对电脑一窍不通,要如何学重装系统?你想学的方法在这里!...
- 基于node.js和Vue的音乐管理系统 /音乐网站的设计与实现
- 黑马程序员_毕向东_Java基础视频教程第01天_20151010(六)
- Dhtmlx Gantt 快速入门至精通
- java拍照控件焦距问题,监控摄像头镜头焦距计算方法
- ARM Mali-V VPU视频处理单元介绍 V61 V550 V500
- 04 带宽管理的队列规定
- 解析聚合新闻数据,并显示到主界面上(简易新闻 二)