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