美文网首页
对象分配规则

对象分配规则

作者: lenny611 | 来源:发表于2019-08-10 20:16 被阅读0次

对象优先分配在Eden区,如果Eden区没有足够的空间时,虚拟机执行一次Minor GC。

大对象直接进入老年代(大对象是指需要大量连续内存空间的对象)。这样做的目的是避免在Eden区和两个Survivor区之间发生大量的内存拷贝。

长期存活的对象进入老年代。虚拟机为每个对象定义了一个年龄计数器,如果对象经过了1次Minor GC那么对象会进入Survivor区,之后每经过一次Minor GC那么对象的年龄加1,知道达到阀值(默认阈值为15)对象进入老年区。

动态判断对象的年龄。如果Survivor区中相同年龄的所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象可以直接进入老年代。

空间分配担保。每次进行Minor GC时,JVM会计算Survivor区移至老年区的对象的平均大小,如果这个值大于老年区的剩余值大小则进行一次Full GC,如果小于检查HandlePromotionFailure设置,如果true则只进行Minor GC,如果false则进行Full GC。

相关文章

  • 对象分配规则

    对象优先分配在Eden区,如果Eden区没有足够的空间时,虚拟机执行一次Minor GC。 大对象直接进入老年代(...

  • JVM内存分配

    探索堆内存到底是怎么分配 简介:堆内存分配方式,分配规则讲解 Java堆内存区域的划分以及作用讲解 对象分配的规则...

  • jvm 基础篇-(2)- 对象分配及回收♻️(-XX:-Hand

    对象分配规则 堆内存: 分配策略: 1、jvm内存宏观分配策略 虚拟机栈分配<<<<<传送门 2、堆内分配策略 1...

  • 后台基本搭建流程

    1、确定后台“用户角色”以及做出权限分配规则 2、根据对象分析出对象包含的字段信息 3、根据用户角色对字段的操作,...

  • iOS底层探究 - 内存对齐

    目录1:内存对齐的原因2:内存对齐的规则3:结构体内存分配演练以及在iOS中对象成员的内存分配探索 一 :内存对齐...

  • 内存分配策略

    详解JVM对象分配内存 对象的内存分分配主要是指对上分配(也可栈上分配),对象主要分配在新生代Eden区,如果启动...

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

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

  • 第三章(三)内存分配策略

    JVM的内存分配策略主要有: 对象优先分配在Eden上; 大对象直接分配在老年代; 长期存活的对象将直接分配在老年...

  • 《深入理解Java虚拟机》(二)--垃圾收集器与内存分配策略(4

    内存分配与回收策略 对象的内存分配规则不是固定的,是取决于你使用的是哪种垃圾回收器组合和虚拟机中的内存参数,如果启...

  • 24物理内存管理下

    对于小的对象使用SLUB分配器进行分配kmem_cache 作为对象分配的缓存区(每次分配对象的时候都先到缓存区找...

网友评论

      本文标题:对象分配规则

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