通过GC Root的对象,开始向下寻找,看某个对象是否可达。
能作为GC root的对象:类加载器,Thread,虚拟机本地变了表,static成员,常量引用,本地方法栈的变量等;
如何确定一个对象是垃圾:
要想进行垃圾回收,得先知道什么样的对象是垃圾
引用计数法:
对某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象没有任何指针对其引用,它就是垃圾,
缺点,如果AB两个对象互相持有,就会导致永远不会被回收
老年代的担保机制
当对象过大的时候,超过阈值的时候会直接进入老年代担保。