JVM 对象分配

2019-08-26 05:52:29来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

JVM 对象分配

JVM参数:

1)-Xmn: 新生代内存上限值

2)-Xms: 整个堆区初始内存分配的大小

3)-Xmx: 堆区内存的最大分配大小

4)-XX:SurvivorRatio: 决定eden与一个survivor大小之比

5)-XX:PretenureSizeThreshold: 大对象直接放入老年代,避免在Eden区和两个survivor区进行大量内存复制

6)-XX:MaxTenuringThreshold: 对象进入老年代的岁数,默认为15

担保机制:

   当对象无法放入survivor空间,对象将被直接放入老年代。  

   在发生Minor GC 之前,虚拟机会检查老年代最大可用连续空间是否大于新生代所有对象大小之和,如果成立,则Minor GC是安全的。否则,将检查是否设置允许担保失败,允许的话,检查可用空间是否大于历次晋升到老年代的对象的平均大小,如果大于,将进行Minor GC,否则,或者不允许担保失败,将进行一次Full GC。

长时间存活的对象将进入老年代:

   每经过一次minor GC,对象年龄将增加1岁,当超过XX:MaxTenuringThreshold时,进入老年代。

   且根据动态年龄判定机制,survivor空间中相同年龄的对象总大小达到survivor空间的一半时,所有岁数大于等于该年龄的对象将直接进入老年代。


原文链接:https://www.cnblogs.com/zncepup/p/11364909.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java开发环境的搭建02——IntelliJ IDEA篇(Windows)

下一篇:AQS原理