GC中新生代进入老年代的方式汇总

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2020-12-16 07:13 被阅读0次

1.新生代的正常复制算法进入老年代

通过新生代的复制算法,年龄达到15仍存活的可进入(JVM参数MaxTenuringThreshold决定,默认15)

2.空间担保

如果Survivor存不下活跃的对象,则直接进入到old区,age=2,这种方式叫空间担保

3.动态年龄

survivor中已满,且至少有50%的对象年龄大于平均年龄,则会把这些大于平均年龄的对象直接写到老年区中。

4.大对象直接进入老年代

大对象在Survivor里存不下,也直接进入old区
tips:只针对Serial和Parnew收集器生效,PS收集器无效

List<byte[]> result = new ArrayList<>();
while (true){
    result.add(new byte[1024*1024*3]);
    Thread.sleep(500);
}

jvm配置:-XX:PretenureSizeThreshold=1M -XX:+UseParNewGC


相关文章

  • GC中新生代进入老年代的方式汇总

    1.新生代的正常复制算法进入老年代 通过新生代的复制算法,年龄达到15仍存活的可进入(JVM参数MaxTenuri...

  • java:JVM总结

    JVM知识总结 新生代,老年代是啥? 是堆。新建的对象在新生代,对象活了很多次gc后,会进入老年代。 新生代为何有...

  • PFI

    jvm 介绍下内存模型?为什么需要内存模型?新生代gc方式?工作原理? 老年代GC方式?工作原理?适用场景? 标...

  • JVM-GC日志分析

    全量GC日志 分段分析(一) GC发生时间 GC 或 Full GC 表示垃圾收集器停顿类型,新生代GC还是老年代...

  • java中的垃圾回收机制常见问题

    Minor GC是发生在新生代中的垃圾收集动作,采用的是复制算法。 Full GC是发生在老年代的垃圾收集动作,采...

  • 6.HotSpot中的GC收集器简介

    目录 概述 新生代GC 老年代GC java789默认GC搭配 垃圾收集器相关参数总结 概述 整理归纳HotSpo...

  • 什么情况下JVM内存中的一个对象会被垃圾回收?

    新生代满了会触发 Young GC,老年代满了会触发 Old GC。GC时会回收对象,那么具体是什么样的对象会被垃...

  • 什么情况下JVM内存中的一个对象会被垃圾回收?

    新生代满了会触发 Young GC,老年代满了会触发 Old GC。GC时会回收对象,那么具体是什么样的对象会被垃...

  • minorGC和FullGC

    什么是minorGC和FullGC minorGC是发生在新生代的GC,而FullGC是发生在老年代的GC。至于为...

  • 垃圾回收算法

    为什么新生代和老年代用不同的回收算法?因为新生代的对象死的快,老年代都是在新生代经过15次gc存活下来的对象,一般...

网友评论

    本文标题:GC中新生代进入老年代的方式汇总

    本文链接:https://www.haomeiwen.com/subject/pvekgktx.html