springboot之热部署

springboot的热部署使用场景:

  1.本地调试

  2.线上发布

  银行和金融交易类的网站,需要全年不间断的运行.

  优点:

    1.无论本地还是在线上,都适用.

    2.无需重新启动.

java热部署和热加载联系:

  1.不重启服务器编译/部署项目

  2,基于java的类加载器进行实现

热部署和热加载的区别:

  部署方式:

    1.热部署更加偏向于在服务器运行时重新部署项目.

    2.热加载只是会重新加载改变的类或者说是编译的.class文件

  实现原理:

    1.热部署直接重新加载整个应用.(释放内存,重新启动这个应用,更加干净,但是更加费时间.)

    2.热加载在运行时,重新加载class(使用类加载器,在后台启动一个线程,每隔一段时间检查这个.class的时间戳,如果时间戳发生改变了,就会重新加载这个类.)

使用场景:

  热部署更多的是在生产环境使用.

  热加载则更多的是在开发环境使用.

原理解析部分:

    热部署原理解析:

    首先必须严先知道:java中的类加载器的特点:

      1.由AppClass Loder(系统类加载器)开始加载制定的类

      2.类加载器将加载任务交给其父类加载器,如果找不到其父类加载器,再由自己去加载.

      3.Bootstrap Loader(启动类加载器)是最顶级的类加载器.

  java类的热部署:

    1.通过类的热加载

原理有点听不懂

    2.配置tomcat 的方式

第三种方式:

  

这个讲解的我现在有点看不懂,所以没有再深入研究,而且我现在使用的热部署方式也和这个不同,所以没有深入学习

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11602481.html

时间: 2024-09-27 10:43:28

springboot之热部署的相关文章

springBoot开启热部署

springBoot开启热部署 这里使用devtools工具开启热部署 〇.搭建springbboot基础环境 一.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true<

SpringBoot工程+热部署进行远程调试

本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom.xml文件添加配置: <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <config

SpringBoot工程热部署

SpringBoot工程热部署 1.在pom文件中添加热部署依赖 <!-- 热部署配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> 2.修改配置 添加依赖后再启动项目我们发现并不起作用.出现这种情况,并不是热部署配置问题,其根本

[springBoot系列]--springBoot的热部署

在SpringBoot中启用热部署是非常简单的一件事,因为SpringBoot为我们提供了一个非常方便的工具spring-boot-devtools 或者 springloaded,我们只需要把这个工具引入到工程里就OK了,下面我就说一下怎么引入spring-boot-devtools. 一.修改pom.xml 我们只需要在pom.xml里,引入相应的jar包就行了.  --optional=true,依赖不会传递,该项目依赖devtools:之后依赖myboot项目的项目如果想要使用devto

spring-boot-devtools (springboot的热部署)

热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载. 而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个新的 ClaassLoader 进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前. 类加载机制 Java 中的类经过编译器可以把代

[转]springboot+idea热部署(自动刷新)

https://blog.csdn.net/qq_42685050/article/details/81588584 近来在使用idea做springboot的项目,但是发现每次修改之后我都需要重新将项目关闭再开启,这样比较繁琐,发现通过热部署的方式让我们可以一边修改我们的项目,然后在页面中直接通过刷新展示出来 spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用.

IDEA 配置Springboot项目热部署

实现的方式概述 注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1-2秒延迟) File-Settings-Compiler-Build Project automatically spring-boot-devtools 在pom中直接引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <

SpringBoot与热部署整合(五)

一 Idea pom.xml 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-devtools</artifactId> 4 <optional>true</optional> 5 </dependency> 修改代码以后,直接按Ctrl+F9(Build+Project)就会重新启动加

springboot(6)-热部署

使用springboot结合dev-tool工具 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 2如图,在设置中打开即可. 按快捷键 Shift+Ctrl+Al