热加载和热部署的区别

问题来源:

eclipse和myeclipse中tomcat配置在没有勾选use workspace metadata的情况下,使用的是否是电脑里面自带的tomcat-conf。


问题引申:

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的静态资源,和热加载归到一起.

你可能感兴趣的:(热加载和热部署的区别)