文章详情页
为何java不易热部署
浏览:183日期:2023-11-03 09:31:45
问题描述
我的疑问是我修改java代码,然后页面请求执行,服务器自动编译成字节码并送入jvm中运行。为何要重启jvm才能执行修改后的代码呢。
问题解答
回答1:java 有很多热部署方案啊。https://www.google.com/search...
但是热部署会影响性能,而且在生产环境中,java 代码部署的频率是很低的。
所以,一般都是在开发环境中开启热部署。
回答2:虚拟机频繁编译,会占用Jvm运行内存,会影响到GC,而且网站性能会降低
回答3:热部署的本质是替换class,也就是说需要把旧的class从内存里踢掉再重新加载新的class,这里就涉及了类的卸载,而卸载一个类的条件之一是它的ClassLoader可以被垃圾回收给收走。反过来如果ClassLoader不能被回收掉的话,那就只能重启java了。
标签:
java
相关文章:
1. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?2. java - idea如何不显示.idea target这些文件夹3. apache - 想把之前写的单机版 windows 软件改成网络版,让每个用户可以注册并登录。类似 qq 的登陆,怎么架设服务器呢?4. dockerfile - [docker build image失败- npm install]5. javascript - [,null]是什么用法6. docker-compose中volumes的问题7. java - 对于jsp技术,aspx技术的困惑8. apache - 怎么给localhost后面默认加上8080端口9. docker-compose 为何找不到配置文件?10. javascript - vue vue-router 报$router重复定义
排行榜
