Java垃圾收集和内存分配策略
垃圾收集
判断对象是否存活的算法常用的有两种:
1.引用计数算法,给对象添加一个引用计数器,每次对象被引用的时候,计数器的值就加1;引用失效时,计数器值减1,当计数器的值都为0的对象就是不再被引用的。
优点:实现简单,判定效率高
缺点:对象之间互相循环引用的情况
2.根搜索算法,通过一系列的“GC Roots”对象作为起始点,从这些节点开始向下搜索,搜索所走的路径成为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。
垃圾收集算法