首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

渣滓收集算法

2012-08-24 
垃圾收集算法判断对象是否存活的算法——根搜索算法:GC Roots Tracing当一个对象到GC Roots没有任何引用链

垃圾收集算法

判断对象是否存活的算法

——>根搜索算法:GC Roots Tracing

当一个对象到GC Roots没有任何引用链相连,证明对象不可用。

?

垃圾收集算法:

1. 标记-清除算法

算法:不用的标记一下,再清除

缺点:效率不高,清除完了有很多不连续的内存碎片。

?

2. 复制算法

算法:一块较大的Eden空间和两块较小的Survivor空间,回收时将eden和survivor上还没死的对象复制到另一块survivor上。

优点:实现简单,运行高效。

缺点:对象存活率较高时要执行太多的复制操作,效率会变低。

?

3. 标记-整理算法

万一对象100%存活,老年代用复制算法就不行了,所以老年代要用标记-整理算法。

算法:不用的标记一下,在清除,再把所有不用的对象向一端移动。

?

4. 分代收集算法

把Java堆分成新生代和老年代,对新生代使用复制算法,对老年代使用标记—整理。

?

3.4 垃圾收集器

3.4.1 Serial收集器

Stop the World,单线程,运行于Client模式下虚拟机很好的选择。

?

3.4.2 ParNew收集器

Serial的多线程版本,Server模式下虚拟机的首选新生代收集器。

热点排行