通俗易懂讲JVM分代回收机制

目录

分代收集算法

工作机制

MinorGC,MixedGC,FullGC


分代回收算法

在Java8中,对被分为了两份:新生代和老年代(1:2的比例)、

如下图

 对于新生代,内部又被分为三个区域

1.伊甸区Eden,新生的对象都分配在这里

2.幸存者区servivor(from和to)

3.Eden区,from区,to区(8:1:1)

工作机制

如下图

1.新创建的对象,都会先分配到Eden区

2.当Eden区内存不足,标记Eden与from(现在阶段是没有的)的存活对象

3.将存活对象采用元复制算法复制到to中,复制完毕后,Eden和from内存都得到释放

如下图

假如Eden区分配内存又出现不足

 这时会标记出Eden区的存活对象,存活对象和to区的存活对象一起复制到from区,然后释放,如下图

如果from中的A对象一直存活,超过了15次的垃圾回送都没有被释放掉的话,那么A对象会被复制到Old区

 

MinorGC,MixedGC,FullGC

MinorGC(youngGC)发生在新生代的垃圾回收,暂停时间短(STW)

MixedGC新生代和老年代步分区域的垃圾回收,G1收集器持有

FullGC:新生代和老年代完整垃圾回收,内存严重不足时,暂停时间长(STW)应尽力避免

STW:暂停所有应用程序线程,等待垃圾回收完成。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值