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