首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当所有对象早逝时,java

当所有对象早逝时,java
EN

Stack Overflow用户
提问于 2015-04-19 05:34:41
回答 1查看 244关注 0票数 1

当所有物体都很年轻的时候,你会为这种情况建议什么GC设置?我有8 Gb堆,默认情况下1.495 Gb用于Eden,191 Mb用于每个Survivor空间。我明白了,终身监禁从来没有增长过,它一直保持着0.01%的占有率。但每次2-3分钟我都有伊甸园的收藏。放弃终身未使用的空间是没有意义的(或使它?)你的建议是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 06:55:36

这并不危险。只要堆舒适地放入主内存中,您就不会有问题。我还建议您在可能的情况下使用压缩oops (通过保持堆< 32 GB),我通常有一个24 GB的Eden,所以如果我每小时产生1GB垃圾,那么每天只收集一个小垃圾。(实际上,我每天都会在已知的时间安排一个完整的收藏)

您应该认真考虑的一件事是使用Java 8,因为JVM具有有效的转义分析。这意味着非常短暂的对象被放置在堆栈上,根本不使用堆。

要记住的是,收集伊甸园的费用基本上与保留的物品的数量和大小成正比。拥有一个几乎什么都不保存的伊甸园,一个8 GB的伊甸园花费的时间大约是一个8 MB的伊甸园的两倍。增加伊甸园的大小可以让你的对象有更多的时间死在伊甸园的空间里,避免被复制到幸存者身上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29726215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档