jvm内存区域和对象分配过程

作者: holysu | 来源:发表于2021-04-17 09:21 被阅读0次
image

对象分配过程

  1. 执行方法时候, 方法压入栈中,局部变量指向的对象在新生代分配内存
  2. 当方法执行完毕,局部变量随栈帧弹出 这时候内存对象就没人引用了
  3. 随着1、2步骤的不断发生,新生代内存满了 ,触发 young gc 回收掉哪些不再被引用的对象实例
  4. 如果有的对象逃过15次 young gc 都还活着(一般是静态变量指向的对象),则会晋升到老年代
  5. 老年代如果内存不足,也会进行 old gc

特殊情况

minor gc前后的几种特殊情况

  1. 大对象直接进入老年代
  2. 空间担保 触发 full gc
  3. 动态对象年龄判断机制
    新生代回收后 存活对象过多,导致大量直接进入老年代

相关文章

  • jvm内存区域和对象分配过程

    对象分配过程 执行方法时候, 方法压入栈中,局部变量指向的对象在新生代分配内存 当方法执行完毕,局部变量随栈帧弹出...

  • jvm内存结构

    主要关注点: jvm内存结构都是什么 对象分配规则 jvm内存结构 方法区和堆是所有线程共享的内存区域;而java...

  • 《深入理解jvm》读书笔记之——内存分配和回收策略

    1、对象优先在eden分配 jvm给一个对象分配内存会先在eden区域分配,如果内存不足,会发起一次young G...

  • Java中四种引用

    Java内存管理包括内存分配和内存回收。 内存分配:程序员通过new对象,JVM会自动为该对象分配内存。 内存回收...

  • Java编程语言:java中四种引用!欢迎补充

    Java内存管理包括内存分配和内存回收。 内存分配:程序员通过new对象,JVM会自动为该对象分配内存。 内存回收...

  • Java 虚拟机—内存模型

    一、JVM 内存模型 本节来分析 Java 对象如何进行分配和回收。 JVM 运行时数据区主要由线程私有区域和线程...

  • JVM调优(转)

    JVM调优 无监控不调优: Java内存区域划分 JVM采用垃圾的收集算法 JVM参数 Java对象分配顺序 在E...

  • 顺丰科技面试(9.26)

    一面 自我介绍 Java内存区域 Java new一个对象分配在哪 Java的堆分配在哪 JVM的内存分配在哪 C...

  • jvm笔记

    jvm内存区域 程序计数器 虚拟机栈 本地方法栈 java的堆 方法区 java如何访问对象 垃圾回收和内存分配

  • 41 jvm内存结构分析

    jvm内存区域分配java 堆是各线程共享的内存区域,在jvm启动时创建,这块区域是jvm中最大的用于存储应用的对...

网友评论

    本文标题:jvm内存区域和对象分配过程

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