一个普通的服务应用,设置JVM的-Xms 512M 和-Xmx512M,假设我的这个应用最大的heap其实需要不到400M,这个服务应用还会发生full GC吗? 有没有谁测试过?
因为我在家中,没条件测试,突然想起这个问题,求有经验的同学详解,多谢 :oops:
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
询问一个JVM GC的问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
myali88 2012-02-13 01:51关注[quote]
假设我的这个应用最大的heap其实需要不到400M,这个服务应用还会发生full GC吗? 有没有谁测试过?
[/quote]
发生full GC一般都是年老代的堆满了,具体还和你选择的GC有关。所以,即时你整个应用使用的堆空间不操过400m,并不说明在运行过程中年老代的堆使用不会达到最大,因为年轻代和年老代的总和才是整个堆的大小,这两者的具体空间和你选择的系统又有关系(如果你不指定各年代堆的大小的话)本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2018-06-21 21:59回答 2 已采纳 Xmx只是设置了允许的最大内存,如果程序实际运行不需要这么多,永远到达不了你设置的数量。所以,如果旧的设置30g,新的设置40g,那么这样当新旧都到达最大数量时候可能会有问题,当然也可能都到达不了最大
- 2022-01-06 11:33回答 1 已采纳 他的意思是,下一次GC后,原来的15M空间的对象的年龄+1,这时候又有新进入survivor区的对象,这时候survivor区的内存不够,触发YoungGC。补充一点:新生代一般采用复制算法来垃圾收集
- 2018-02-18 19:45回答 2 已采纳 mark word在对象头里。首先在`oop.hpp`中, ```c class oopDesc { friend class VMStructs; private: vola
- 2022-11-03 03:06knowwait的博客 有句话这么说“JVM调优应该是Java性能优化的最后一颗子弹”,我们一般的Java项目JVM调优不是常规手段,性能问题一般第一选择是优化程序,最后的选择才是进行JVM调优,而常用的调优手段还是我们上面提到的第一条,-...
- 2022-06-08 07:04回答 3 已采纳 首先第一点这个不会回收;因为局部变量也属于GC roots。死循环这个栈帧会一直存在了,所以不会回收。第二点,一般的方法,for或者while 只要你当前的局部变量没要逃逸,当栈帧结束都会自动回收,也
- 2023-03-07 01:47回答 2 已采纳 回答引用自chatgpt:新生代区域中对象只有极少数存活的原因是因为新生代区域一般是用来存放新创建的对象,这些对象的生命周期比较短,很快就会被回收。而复杂的对象,比如大的数组或者长时间存活的对象,则会
- 2022-05-16 21:48回答 1 已采纳 首先说gcroot的功能是为了给对象标记是否在下一次GC的时候被回收,标记的目的是是否可以回收,那么,你标记一次(一个gcroot),标记两次(两个gcroot)没有意义。分情况:1、假如第一次被标记
- 2022-07-18 09:12未见花闻的博客 本篇文章将介绍JVM运行时分区,类加载过程已经垃圾回收机制中的查找垃圾的算法和回收垃圾算法,了解常见的Java虚拟机。
- 2021-08-29 05:45回答 2 已采纳 如何扩展呢?另外bootstrap由c+编写,其余为Java
- 2018-06-14 16:55回答 11 已采纳 正在使用中的变量太多了,程序执行自动回收,发现你变量都在使用 无法回收 下面死循环为例,程序一直在生成新变量a,一直占用内存,内存满后自动释放时,你list还在方法内,没有结束,不能释放,就会内
- 2016-11-18 18:14回答 2 已采纳 没法简单判断,性能和空间不能两全。一般来说,在计算机存储足够的情况下,优先考虑性能。在计算机存储不足的时候,优先考虑空间,保障程序能正常运行。
- 2023-06-24 23:59小码农0912的博客 JVM调优总结
- 2022-09-09 17:53CV猿猿的博客 JVM常见问题
- 2023-04-20 04:51程序员小海绵【vincewm】的博客 JVM内存模型、双亲委派模型、类加载机制、内存溢出、垃圾回收机制、内存泄漏、垃圾回收流程、垃圾回收器、G1、CMS、JVM调优
- 2023-08-30 07:30韵秋梧桐的博客 介绍JVM的内存划分,类加载过程以及GC垃圾回收机制中的查找垃圾和回收垃圾的算法。
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司