1.对象已死?
引用计数算法(Reference counting):
根搜索算法(GC Roots Tracing):判断对象是否存活的。基本思路:通过一系列的名为“GC ROOTS”的对象作为起始点,从这些点开始乡下搜索,搜索所走过的路径成为引用链(Reference Chain),当一个对象到GC Roots没任何引用链项链(用图论解释:GC Roots到这个对象不可达)时,则证明此对象是不可用的。(不可达的话,可回收的对象)。
2.垃圾回收算法
1.标记-清除算法(Mark-Sweep):首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。(基础:收集算法);
2.复制算法:内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完,就将还存活的对象复制到另一块上,然后再把已经使用过的内存空间一次清理掉。
3.垃圾收集器
垃圾收集器中会有很多种,会在新生代和老生代中会选择一个合适的回收机制。
4.内存分配与回收策略