GC垃圾回收机制

GC垃圾回收机制
对象创建时内存分配首先在 eden 区进行分配 eden区是 垃圾收集器回收内存频率最高的地方

				内存分配比例通常为 8:1:1    eden: 8

内存分配比例通常为 8:1:1

JVM 将对内存分为新生代和老年代

而新生代中又会划分为 eden 区, form survivor,to survivor 区。

当在 eden 区分配内存不足时,则会发生Minor GC

Minor GC:发生在年轻代的GC。

Minor GC的触发条件为

  • 当产生一个新对象,新对象优先在Eden区分配。如果Eden区放不下这个对象,虚拟机会使用复制算法发生一次Minor
    GC,清除掉无用对象,同时将存活对象移动到Survivor的其中一个区(fromspace区或者tospace区)。

  • 虚拟机会给每个对象定义一个对象年龄(Age)计数器,对象在Survivor区中每“熬过”一次GC,年龄就会+1。待到年龄到达一定岁数(默认是15岁),虚拟机就会将对象移动到老年代。

  • 如果新生对象在Eden区无法分配空间时,此时发生Minor GC发生MinorGC,对象会从Eden区进入Survivor区,如果Survivor区放不下从Eden区过来的对象时,此时会使用分配担保机制将对象直接移动到老年代。

Major GC的触发条件:Major GC又称为Full GC。当年老代空间不够用的时候,虚拟机会使用“标记—清除”或者“标记—整

理”算法清理出连续的内存空间,分配对象使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值