首页 > 其他分享 >热部署

热部署

时间:2022-10-26 18:01:50浏览次数:42  
标签:文件 部署 ClassLoader Class restart 加载

热部署,就是在应用正在运行的时候升级软件(增加业务/修改bug),却不需要重新启动应用
大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应
用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后
Class文件将被虚拟机的ClassLoader加载。
而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载
该文件,经过一系列的过程,最终将结果呈现在我们眼前,Spring Boot通过配置DevTools工具来达到热部署效
果。
在原理上是使用了两个ClassLoader, -个Classloader加载那些不会改变的类(第三方]ar包) .另一个
ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader
被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

标签:文件,部署,ClassLoader,Class,restart,加载
From: https://www.cnblogs.com/lwx11111/p/16829370.html

相关文章

  • istio部署demoapp应用 (八)故障注入
    故障注入故障注入有两种典型的场景delay:注入“延迟”abort:注入“中断”virtualservice-demoapp.yamlapiVersion:networking.istio.io/v1beta1kind:Virtu......
  • Docker部署Springboot WebAPI项目
    确定docker安装好Client:Version:20.10.12APIversion:1.41Goversion:go1.17.3Gitcommit:20.10.12-0ubuntu4Built:......
  • HELM chart 部署mongodb 到k8s 集群 pod 无法解析dns 问题
    1,正常拉取bitbami的包部署mongodb到k8s集群,运行前一切正常2,部署到mongodb-1的时候,卡主,查看日志,arbiter报无法连接mongodb-0或者mongodb-headless 3,搜到早些年的issu......
  • istio部署demoapp应用 (六)基于权重的流量分割
    架构图virtualservice-demoapp.yamlapiVersion:networking.istio.io/v1beta1kind:VirtualServicemetadata:name:demoappspec:hosts:-demoapphttp:......
  • PXE一键部署和kickstart无人值守安装
    一、PXE一键部署1.1系统装机的三种引导方式硬盘光驱(u盘)网络1.2系统安装过程(1)安装过程加载bootloader:是在操作系统内核运行之前运行的一段小程序。通过这段小程......
  • WebUI自动化测试框架搭建(三)-环境部署
    @目录1Python安装1.1下载1.2安装2安装配置Pycharm2.1下载2.2安装3界面熟悉4创建工程4.1新建项目1、这里先先安装Python环境和配置Pycharm工具;2、所有的python......
  • Teamcity 部署
    1.先安装docker环境team_city安装2.dockerrun-it--nameteamcity-server\-v/data/teamctiy_data/:/data/teamcity_server/datadir\-v/data/teamctiy_logs/:/opt......
  • linux 前端部署 tomcat 脚本
    前提:打包后的文件位置:/home/usr/back目的部署位置:/home/usr/prod1目的部署位置:/home/usr/prod2 在linux服务器上新增文件deploy-web.sh,并运行shdeploy-web.sh......
  • 超级详细Hyperledger Fabric1.4.4 环境搭建部署
    超详细的HyperledgerFabric1.4.4环境搭建部署一、系统版本://系统版本[root@ecs-344386~]# cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)//内核版本......
  • kubeSphere v3.3.0+kubemetes v1.22.10 集群部署
    概述KubeSphere是 GitHub 上的一个开源项目,是成千上万名社区用户的聚集地。很多用户都在使用KubeSphere运行工作负载。对于在Linux上的安装,KubeSphere既可以部署......