美文网首页
GC垃圾回收机制

GC垃圾回收机制

作者: 欲火逢生 | 来源:发表于2018-08-24 22:50 被阅读0次

手机内存给每个应用分配的内存都是有限的,如果频繁的创建对象,而没有对无用的对象进行回收的话就会造成OOM(内存溢出)

查找没用的对象有两种算法

1、引用计算法:当对象创建的时候设置一个引用计算器,当对象被引用的时候就+1,取消引用时就-1,当引用为0的时候,那么这些为0的对象就是垃圾回收的目标。但是他有一个缺点,就是两个没用的对象相互持有引用的话,就没办法查到。

2、可达性算法:就是从对象的根节点进行查找,不可达的对象即为垃圾。

回收没用的对象有四种算法:

1、标记清除法:分为标记阶段和清除阶段,标记阶段就是对所有需要回收的对象进行标记,清除阶段就是对标记的对象进行清除。

2、复制清除法:使用的内存可以分为两块,一块为没有使用的,一块是使用的,就是当使用的内存满的时候就复制到未使用的,然后对使用的进行回收。

3、标记压缩发:标记过后不需要立即清除,将存活的对象压缩到一端,清除边缘地区的。

4、分带算法:将新创建的对象放在年轻带区域,因为年轻 带回收快,所以用复制清除算法,当几次回收之后,仍然存活的对象放在老年区域,因为老年区域回收慢,所以可以用标记压缩法,也可以用标记清除法。

相关文章

网友评论

      本文标题:GC垃圾回收机制

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