首页 > 其他 > 详细

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

时间:2021-03-15 23:58:01      阅读:39      评论:0      收藏:0      [点我收藏+]

技术分享图片

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

特殊:minor gc前后的几种特殊情况

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

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

原文:https://www.cnblogs.com/mushishi/p/14540775.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!