1.什么样的对象会被当做垃圾回收
当一个对象的引用(地址)没有人去记录的时候,该对象就会成为垃圾对象,并在垃圾回收器空闲的时候对其进行清扫
public class Gc {
public static void main(String[] args) {
Demo d=new Demo();
d=null;
new Demo().show();
}
}
class Demo{
public void show(){
System.out.println("我是show方法");
}
}
2.如何校验对象是否被回收
可以重写Object类中的finalize方法
- 这个方法在垃圾回收器执行时候,被回收器自动调用执行
class Demo extends Object{
@Override
protected void finalize() throws Throwable {
System.out.println("垃圾被清扫了");
}
}
3.怎样通知垃圾回收器回收对象
可以调用System类的静态方法gc();
- 通知垃圾回收器去清理垃圾
4.如何判断哪些对象需要回收