SpringBoot项目热部署-devtools
DevTools 会使用两个类加载器(一个用于加载不变的类,一个用于加载可能会变化的类),每次重启只重新加载管理变化的类的加载器,因此会快很多
1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
<version>3.0.2</version>
</dependency>
- optional 属性表示这个依赖是可选的,设置为 true 意味着其他项目在作为依赖时不会自动传递它。
-
scope 决定了依赖在项目生命周期中的使用范围,runtime 表示该依赖在编译时不会被包含,但在运行时需要加载。这意味着 spring-boot-devtools 只在应用运行时生效,并且不被打包进最终的生产构建
2.allow auto-make
3. compiler 中开启自动构件项目
4.补充知识
Spring Boot DevTools 通过使用 两个类加载器 来加速应用的重启过程:
-
Base 类加载器(用于加载不变的类):
- 这个类加载器加载的是那些不会频繁变化的类(例如第三方库的依赖、Spring 框架本身的类等)。
- 这些类在应用启动时只加载一次,之后不再重新加载。
-
Restart 类加载器(用于加载可能会变化的类):
- 这个类加载器负责加载你自己的项目代码,即那些可能会发生变化的类。
- 当你修改代码并保存时,
DevTools
只会销毁并重新加载Restart 类加载器
,而Base 类加载器
中已经加载的类会被保留,这样无需重新加载整个应用的所有类。
相关文章:

SpringBoot项目热部署-devtools
DevTools 会使用两个类加载器(一个用于加载不变的类,一个用于加载可能会变化的类),每次重启只重新加载管理变化的类的加载器,因此会快很多 1.导入依赖 <dependency> <groupId>org.springframework.boot&l…...

从MySQL到OceanBase离线数据迁移的实践
本文作者:玉璁,OceanBase 生态产品技术专家。工作十余年,一直在基础架构与中间件领域从事研发工作。现负责OceanBase离线导数产品工具的研发工作,致力于为 OceanBase 建设一套完善的生态工具体系。 背景介绍 在互联网与云数据库技…...

ifconfig 和 ip addr
1. 工具所属套件 ifconfig:属于较老的 net-tools 套件。曾是 Unix 和 Linux 系统上广泛使用的工具。ip addr:属于较新的 iproute2 套件。它取代了 ifconfig,并逐渐成为现代 Linux 系统上更常用的工具。 2. 功能覆盖范围 ifconfigÿ…...

NCCL报错
1、报错信息: raise RuntimeError("Distributed package doesnt have NCCL " "built in") RuntimeError: Distributed package doesnt have NCCL built in 2、报错原因: windows系统不支持nccl,采用gloo; …...

域7:安全运营 第16章 安全运营管理
第七域包括 16、17、18、19 章。 第七域所涵盖的广泛知识点,与我们的安全运营工作之间存在着高度的契合性。这些知识点不仅为我们的安全运营提供了有力的理论支撑,还使得SOC(安全运营中心)在日常运作中能够更加高效地发挥作用。通…...

研发线上事故风险解读之数据库存储
专业在线打字练习平台-巧手打字通,只输出有价值的知识。 一 前言 本文继续基于《线上事故案例集》,进一步深入梳理线上事故数据存储方面的问题点,重点关注数据库存储在使用和优化过程中可能出现的问题,旨在为读者提供具有实践指导…...

react hooks中在setState后输出state为啥没有变化,如何解决
在 React Hooks 中,setState 的概念被 useState 或 useReducer 钩子所替代。与类组件中的 setState 一样,这些钩子也是异步更新状态的。因此,如果你尝试在调用 setState(即 setXXX 函数)后立即读取状态值,你…...

C++设计模式——代理模式
欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言代理模式的定义代理模式的具体实现 引言 我们经常听到代理服务器「代理服务器是一个中间服务器,能够接收客户端的请求,并代表客户端向服务器发起请求,然后将服…...

docker 复制文件,清除不再使用数据导出以及导出文件系统
docker cp -a centos :/etc/centos-release #将容器内文件复制到宿主机 docker cp /etc/issue centos:/root #将宿主机文件复制到容器内 docker export: 将一个运行的或者挺值得容器的文件系统导出为一个tar归档文件。需要注意,docker export 不会包含该…...

【Vue】Vue3.0(十一)Vue 3.0 中 computed 计算属性概念、使用及示例
上篇文章:【Vue】Vue3.0(十)toRefs()和toRef()的区别及使用示例 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年10月15日10点23分 文章目录 Vue 3.0中…...

【第三版 系统集成项目管理工程师】第17章 法律法规和标准规范
持续更新。。。。。。。。。。。。。。。 【第三版】第17章 法律法规和标准规范 17.1法律法规17.1.1 法与法律 P5801.基本概念-P5802.本质与特征-P580 17.1.2 法律体系1.世界法律体系(非重点)-P5802.中国特色社会主义法律体系-P581 17.1.3 法的效力1.对象效力-P5822.空间效力-…...

安装 LLM 编程工具 cursor
1,网址 cursor.com 点击 Download for Free 下载安装包 下载到一个300KB的安装压缩包,解压后双击后,点 open 安装过成会下载真正的应用程序 点击 continue 登陆 比如选择使用 github账号登陆 则会弹出如下网页: 先登陆 github&a…...

Java链式编程的定义、例子、使用方法、实际应用场景、自动装配构造
链式编程(Fluent Interface)是一种编程风格,允许通过方法调用连接在一起进行操作,通常用于提高代码的可读性和简洁性。在 Java 中,链式编程常通过返回 this(当前对象)来实现。这种做法在构建器模…...

用 Git Stash 临时保存修改,轻松切换任务!
在开发过程中,我们经常会遇到这样的情况:正在写代码,突然领导或同事让你赶紧处理一个紧急 bug,但你当前的代码还没写完,不能提交,这时候该怎么办呢?别慌,Git 的 stash 命令正好能帮上…...

Android 下通过触发 SIGTRAP 信号实现反调试
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 详细的 Linux 信号列表 Linux 信号是一种用于进程间通信(IPC)和异常处理的机制。以下是详细的 Linux 信号列表,包含信号名…...

【MySQL】 表的增删操作
目录 1.Create(增) 1.1.单行数据 全列插入 1.2.多行数据 指定列插入 1.3.插入否则更新 1.4.替换数据(REPLACE) 2.Delete(删) 2.1.删除表中的某个条目 2.2.删除整张表数据 2.3.截断表 1.Create…...

新生入门季 | 学习生物信息分析,如何解决个人电脑算力不足的问题?
随着生物信息学在科研和教育中的快速普及,越来越多的新生开始接触基因组测序、RNA分析等复杂计算任务。然而,在面对这些大规模数据时,个人电脑的算力往往显得捉襟见肘。你是否也在为自己的笔记本性能不足而苦恼? 这篇文章将为你提…...

20255 - 中医方剂学 - 考研 - 执业
第1章 总论 1.我国现存最早的记载方剂的医书是()( ) [单选] A.《太平圣惠方》 B.《黄帝内经》 C.《五十二病方》 D.《千金要方》 E.《外台秘要》 正确答案: C 2.我国最早的中医经典理论著作是()( ) [单选] A.《伤寒杂病论…...

【Vue.js设计与实现】第三篇第9章:渲染器-简单Diff算法-阅读笔记
文章目录 9.1 减少 DOM 操作的性能开销9.2 DOM 复用与 key 的作用9.3 找到需要移动的元素9.4 如何移动元素9.5 添加新元素9.6 移除不存在的元素 系列目录:【Vue.js设计与实现】阅读笔记目录 当新旧vnode 的子节点都是一组节点时,为了以最小的性能…...

服务器软件之Tomcat
服务器软件之Tomcat 服务器软件之Tomcat 服务器软件之Tomcat一、什么是Tomcat二、安装Tomcat1、前提:2、下载3、解压下载的tomcat4、tomcat启动常见错误4.1、tomcat8.0 startup报错java.util.logging.ErrorManager: 44.2、java.lang.UnsatisfiedLinkError 三、Tomca…...

Flutter包管理(三)
1、作用 在APP的实际开发过程中往往会依赖很多包,而这些包之间存在着交叉依赖、版本依赖,由开发者自己管理手动管理会非常麻烦,每种开发生态或编程官方会提供一些包的管理工具,在Flutter中我们在pubspec.yaml文件中来管理第三方依…...

CGNS资料
CGNS数据文件 资料 CFD General Notation System CGNS Converters vtkCGNSReader cgnsToFromFoam Example Computer Codes 8.1.2. CGNS Mesh Format and Multizone Interface Connectivity 8 Multizone Interface Connectivity pyvista.cgnsreader CGNS for MATLAB and Octave…...

论文阅读(十六):Deep Residual Learning for Image Recognition
文章目录 1.介绍2.基本原理3.两种残差块4.网络结构 论文:Deep Residual Learning for Image Recognition 论文链接:Deep Residual Learning for Image Recognition 代码链接:Github 1.介绍 在ResNet网络提出之前,传统的卷…...

Dubbo 序列化方式
Hession 这是dubbo的默认序列化协议,是一种二进制协议,他的特点是序列化的速度比较快,并且序列化的数据体积比较小。Hession适合于大部分场景,因此被选为dubbo的默认序列化协议。 Json Json是一种基于文本的序列化方式…...

如何替换OCP节点(二):使用 antman脚本 | OceanBase应用实践
前言: OceanBase Cloud Platform(简称OCP),是 OceanBase数据库的专属企业级数据库管理平台。 在实际生产环境中,OCP的安装通常是第一步,先搭建OCP平台,进而依赖OCP来创建、管理和监控我们的生…...

15.JVM垃圾收集算法
一、垃圾收集算法 1.分代收集理论 分代收集理论是JAVA虚拟机进行垃圾回收的一种思想,根据对象存活周期的不同将内存分成不同的几个区域;一般将JAVA堆内存分为新生代和老年代;根据每个分代特点选择不同的垃圾收集器; 在新生代中&am…...

软件工程:图书管理系统甘特图
1 实验目的 熟悉GanttProject 软件环境,能够使用GanttProject绘制甘特图,进行项目管理与规划。 2 实验内容 为小型图书管理系统项目的实施计划绘制甘特图。 小型图书管理系统项目包含登录、浏览、管理读者、管理图书资料、管理书目、登记借书、登记还书、预定图书、…...

视频的编解码格式
文章目录 视频的编解码格式概念术语视频处理流程视频封装格式视频编码格式视频编解码器,视频容器和视频文件格式之间的区别补充视频码率 参考资料 视频的编解码格式 概念术语 两大组织主导视频压缩的组织及其联合(joint)组织 ITU-T(VCEG) ITU-T的中文名称是国际电信…...

网络资源模板--Android Studio 实现简易新闻App
目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--基于Android studio 实现的简易新闻App 二、项目测试环境 三、项目详情 登录页 用户输入: 提供账号和密码输入框,用户可以输入登录信息。支持“记…...

LabVIEW提高开发效率技巧----离线调试
离线调试是LabVIEW开发中一项重要的技巧,通过使用Simulate Signal Express VI生成虚拟数据,开发者能够有效减少对实际硬件的依赖,加速开发过程。这种方法不仅可以提高开发效率,还能降低成本,增强系统的灵活性。 离…...