首页  >  问答  >  正文

为何java不易热部署

我的疑问是
我修改java代码,然后页面请求执行,服务器自动编译成字节码并送入jvm中运行。为何要重启jvm才能执行修改后的代码呢。

扔个三星炸死你扔个三星炸死你2684 天前840

全部回复(3)我来回复

  • 滿天的星座

    滿天的星座2017-06-14 10:53:37

    java 有很多热部署方案啊。https://www.google.com/search...

    但是热部署会影响性能,而且在生产环境中,java 代码部署的频率是很低的。

    所以,一般都是在开发环境中开启热部署。

    回复
    0
  • 学习ing

    学习ing2017-06-14 10:53:37

    虚拟机频繁编译,会占用Jvm运行内存,会影响到GC,而且网站性能会降低

    回复
    0
  • 某草草

    某草草2017-06-14 10:53:37

    热部署的本质是替换class,也就是说需要把旧的class从内存里踢掉再重新加载新的class,这里就涉及了类的卸载,而卸载一个类的条件之一是它的ClassLoader可以被垃圾回收给收走。反过来如果ClassLoader不能被回收掉的话,那就只能重启java了。

    回复
    0
  • 取消回复