文章详情页
为何java不易热部署
问题描述
我的疑问是我修改java代码,然后页面请求执行,服务器自动编译成字节码并送入jvm中运行。为何要重启jvm才能执行修改后的代码呢。
问题解答
回答1:java 有很多热部署方案啊。https://www.google.com/search...
但是热部署会影响性能,而且在生产环境中,java 代码部署的频率是很低的。
所以,一般都是在开发环境中开启热部署。
回答2:虚拟机频繁编译,会占用Jvm运行内存,会影响到GC,而且网站性能会降低
回答3:热部署的本质是替换class,也就是说需要把旧的class从内存里踢掉再重新加载新的class,这里就涉及了类的卸载,而卸载一个类的条件之一是它的ClassLoader可以被垃圾回收给收走。反过来如果ClassLoader不能被回收掉的话,那就只能重启java了。
标签:
java
相关文章:
1. 移动端页面文字垂直居中兼容性问题2. angular.js - angular js配置路由 编写控制器的时候说跳转页内的数据模型不存在3. android - 新建项目卡在Gradle:Resolvedependencies’:app:_debugCompile’4. javascript - 求一套有关于IP地址的JS正则!5. angular.js - 有没有不需要先git clone xxxx的angular2的教程?6. atom编译器 如何格式化前端代码文件?7. angular.js - 获取数据后总是要有一段$scope.$apply();这段代码是什么意思呀?8. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?9. javascript - 关于Js中 this的一道题10. mysql根据某个字段已存在的值排序
排行榜