美文网首页
JVM之HotSpot中内存分配与回收策略

JVM之HotSpot中内存分配与回收策略

作者: Skybike | 来源:发表于2019-10-08 17:11 被阅读0次

内存分配与回收策略

对象优先再Eden区分配对象,如果Eden区内存不够用,虚拟机就会发起一次针对Eden区的垃圾回收,使用复制算法,将Eden和Survivor-1的存活对象分配到Survivor-2中(下一次将把Eden和Survivor-2的存货对象分配到Survivor-1中),如果有多余的,将会通过担保方式进入老年代。如果是大对象(典型的时数组大对象),则直接进入老年代。可以通过-XX:PretenureSizeThreshold来设定大于这个值的对象就进入老年代。对象在Survivor区中每经历一次垃圾回收,就将年龄增加1,当达到15时(默认)还没有被回收的话,就将进入老年带,可以通过-XX:MaxTenuringThreshold来设定年龄大小。如果Survivor中某个年龄的对象数量占用Survivor一半以上的内存,则年龄大于等于这个年龄的直接进入老年代

空间分配担保:

Eden,Survivor区垃圾回收后,如果另一个Survivor不够装下剩余存活的对象,则有对象要进入老年代,这时候虚拟机会有 先检查自己剩余的连续空间是否能装下这些对象,如果足够,则顺利进行。如果不够,看HandlePromotionFailure设置是否允许担保失败,如果不允许,则需要进行一次Full GC(Full GC会带来性能的损耗)。如果允许,则会查看历次进入老年代的平均值与剩余最大连续空间,如果是,则尝试进行Minor GC,如果不是,则进行一次Full GC

相关文章

  • JVM之HotSpot中内存分配与回收策略

    内存分配与回收策略 对象优先再Eden区分配对象,如果Eden区内存不够用,虚拟机就会发起一次针对Eden区的垃圾...

  • 常见面试题

    JVM JVM 内存结构 垃圾收集策略与算法记回收,标记清除,复制算法 HotSpot 垃圾收集器 cms hos...

  • Java内存回收机制

    一、前言 1.JVM的内存结构 2.内存分配与回收策略 下图所示是堆中内存分配示意图,创建一个对象,首先会在ede...

  • JVM 之 内存分配与回收策略

    不诗意的女程序媛不是好厨师~转载请注明出处,From李诗雨---https://blog.csdn.net/cjm...

  • Java虚拟机内存分配与回收策略

    Java虚拟机中的内存分配与回收策略就是 Java的自动内存管理,其最核心的部分就是堆内存中对象的分配与回收。所以...

  • JVM内存分配与回收策略

    前言 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),对象...

  • JVM学习四(内存分配与回收策略)

    (一)内存分配与回收策略 给对象分配内存、回收分配给对象的内存1、对象优先在Eden分配 通过-XX:+Print...

  • jvm内存分配&回收策略

    前两篇文章,我给大家分别介绍了jvm的内存垃圾回收机制和gc算法以及jdk内部现阶段所有的gc回收器,接下来本来以...

  • JVM 初探:内存分配、GC 原理与垃圾收集器

    JVM内存的分配与回收大致可分为如下4个步骤: 何时分配 -> 怎样分配 -> 何时回收 -> 怎样回收。 除了在...

  • HBase优化策略及协处理器

    服务端优化 什么导致HBase性能下降 Jvm内存分配与GC回收策略 HBase运行机制相关的配置分配不合理 表结...

网友评论

      本文标题:JVM之HotSpot中内存分配与回收策略

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