热部署和热加载的区别

  还有个热更新是游戏专用词.

参考:https://www.imooc.com/qadetail/243962

热部署与热加载

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

Java热部署与热加载的联系

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

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

Java热部署与热加载的区别

部署方式

热部署在服务器运行时重新部署项目

热加载在运行时重新加载class

实现原理

热部署直接重新加载整个应用

热加载在运行时重新加载class

使用场景

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

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

热加载几乎没有

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

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

1.说一下自己的理解:

运行tomcat项目需要3步

1.打包并指定给tomcat

2.启动tomcat

3.解压war包并运行(第三步和第二步一起的)

2.热部署

就是已经运行了项目,更改之后,不需要重新tomcat,但是会清空内存,重新打包,重新解压war包运行

可能好处是一个tomcat多个项目,不必因为tomcat停止而停止其他的项目

 3.热加载

是基于字节码进行更改的,不释放内存,开发可用,上线不可用,比如修改类了,原先的类内存不会释放,新的类还会增加内存.

更改字节码的意思是应该更改exploded war包中的.class文件.

热加载不重启tomcat,不重新打包

4.更新静态资源

更新静态资源是更改exploded war的静态资源,和热加载归到一起.

原文地址:https://www.cnblogs.com/ptqueen/p/8384898.html