码上敲享录 > linux系统常见问题 > 对jvm的-XX:MaxTenuringThreshold的理解

对jvm的-XX:MaxTenuringThreshold的理解

上一章章节目录下一章 2018-09-28已有6131人阅读 评论(0)

对jvm的-XX:MaxTenuringThreshold的理解


解决方法:

-XX:MaxTenuringThreshold设置的是年龄阈值,默认15(对象被复制的次数)

JVM为每个对象定义了一个对象年龄(Age)计数器, 对象在Eden出生如果经第一次Minor GC后仍然存活, 且能被Survivor容纳的话, 将被移动到Survivor空间中, 并将年龄设为1. 以后对象在Survivor区中每熬过一次Minor GC年龄就+1. 当增加到设置的阀值时将会晋升到老年代。

但有一个疑惑,为什么我设置-XX:MaxTenuringThreshold足够大了防止大量对象进入老年区,虽然进入老年区的对象减少了,但还是有?

因为如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半, 年龄大于或等于该年龄的对象就可以直接进入老年代。


本文链接:http://www.yayihouse.com/yayishuwu/chapter/1623


向大家推荐《Activiti工作流实战教程》:https://xiaozhuanlan.com/activiti
0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交