热部署热加载技术简介

热部署

    热部署的使用场景

          1 . 本地调试时,加了几行代码就需要重新启动服务来检验调试的成果。

          2 . 线上发布,重新启动。

    热部署的优点:

      1 . 无论本地还是线上,都适合。

      2 .  无需重启服务器,提高开发调试效率,节省运维成本。

 

Java 热部署与热加载的联系与区别:

    Java热部署与热加载的联系:

        1.不重启服务器  编译/加载 项目

        2. 基于Java的类加载器实现

   Java热部署与热加载器的区别: 

        部署方式:

              1 .  热部署在服务器运行时重新部署项目(整个项目的重新部署,安全性可控)

              2 . 热加载在运行时重新加载class  (重新加载修改的class字节码文件,难以监控)

       

     实现原理(重点):

          1 .热部署直接重新加载整个应用(会释放内存,加载的更彻底,同时耗费的时间也更长)

          2 . 热加载在运行时重新加载class,(在容器启动的时候,启动一个后台线程,定时检测类文件的时间戳变化,如果类的时间戳发生变化,就把类重新载入。)

 

     使用场景

         1 . 热部署更多的是在生产环境使用(线上不能出错,热部署更加稳妥)

         2 . 热加载则更多的实在开发环境使用(节省时间,同时对风险不太敏感)

   

热加载几乎没有

安全性,直接修改Java虚拟机中的字节码文件,难以监控和控制

热加载有个通俗的名字就是开发者模式

 

 

你可能感兴趣的:(Spring,Boot)