大对象直接进入老年代

PretenureSizeThreshold参数只对Serial和ParNew两款收集器有效,Parallel Scavenge收集器不认识这个参数,Parallel Scavenge 收集器一般并不需要设置,如果遇到必须使用这个参数的场合,可以考虑ParNew加CMS的收集器的组合。

虚拟机采用分代的手机思想来管理内存,name对象回收时就必须能识别哪些对象应放在新生代,哪些对象应该放在老年代,为了做到这点,虚拟机给每个对象定义了一个对象年龄计数器。如果对象在Eden出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor区中,并且对象年龄设置为1,对象在Survivor区每“熬过”一次Minor GC,年龄就增加一岁,当他的年龄增加增加到一定程度(默认是15岁),就会被晋升到老年代。对象晋升老年代的阈值,可以通过参数-XX:Max-TenuringThreshold设置。

posted @ 2018-03-06 13:53  虚竹一梦  阅读(2615)  评论(0编辑  收藏  举报