美文网首页程序员Java 杂谈
热加载和热部署的区别

热加载和热部署的区别

作者: 横竖撇捺啊 | 来源:发表于2018-09-03 11:39 被阅读0次

    问题来源:

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

    相关文章

      网友评论

        本文标题:热加载和热部署的区别

        本文链接:https://www.haomeiwen.com/subject/udsbwftx.html