1、引用计数收集器,通过计数器记录对象是否被引用,当计数器为零时,说明此对象已经不再被使用于可进行回收。
2、跟踪收集器
1)复制:复制采用的方式为从根集合扫描出存活的对象,并将找到存活对象复制到一块新的完全未使用的空间中。
2)标记-清除:从根集合开始扫描,对存活的对像进行标记,然后再清除未标记对象。 容易造成内存碎片。
3)标记-压缩:原理与标记-清除基本一致,只是在清除的时候把存活的对象向左移。
在堆中采取的回收策略:
在新生代中使用复制算法,前提是认为在新生代中存活的对象时间不长。
1)串行GC(Serial GC)
2)并行回收(Paralel Scavenge)
3)并行GC(ParNew)
在旧生代中使用标记-压缩:前提是认为在旧生代中存活的对象时间长。
1)串行GC(Serial MSC)
2)并行GC(Parallel MSC)
3)并发GC(CMS)
浙公网安备 33010602011771号