引用计数算法:
给对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用了。
引用计数算法的缺点:很难解决对象之间相互循环引用。
可达性分析算法:
以GC Roots为起始点,从这些节点向下遍历,能够遍历到的对象就是存活的
GC Roots:
- 虚拟机栈(栈帧中的本地变量表)中引用的对象
- 方法区中类静态属性引用的对象
- 方法区中常量引用的对象
- 本地方法栈中引用的对象
引用计数算法:
给对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用了。
引用计数算法的缺点:很难解决对象之间相互循环引用。
可达性分析算法:
以GC Roots为起始点,从这些节点向下遍历,能够遍历到的对象就是存活的
GC Roots: