GC垃圾回收机制

垃圾回收主要发生在堆区

先了解一下堆区的结构

在这里插入图片描述
首先GC主要分为大GC和小GC,小GC主要分布在新生区,大GC
主要发生在养老区,当伊甸区达到最大容量的百分之七十的时候就会触发小GC,当在伊甸区的每个对象熬过一次就会到达幸存者区,幸存者区可以分为from区和to区,谁是空的谁就是to区,当在幸存者区熬过一定次数的对象就会到达养老区,当养老区满时,就会触发大GC。

GC算法一般包括 复制算法,标记清除算法,标记整理算法。

1.新生代一般使用复制算法

复制算法:将活动对象复制到另一个空间,然后把原来的空间清空。
优点:布局比标记清除算法要整齐
缺点:当存活对象过多时,耗费大量的内存。

2.老年代一般都是标记整理和标记清除混合使用。

标记清除算法:对存活的对象进行标记,然后对扫描整个内存,回收未被标记的对象。
优点:不会有额外的 空间
缺点:进行两次扫描,耗时严重。会产生大量的碎片。

标记整理算法:标记所有的存活对象,然后整理所有存活的对象的引用地址。
优点:内存利用率比较高。
缺点:效率是最慢的。

总结:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值