关于垃圾回收和finalize()的问题
垃圾回收是怎么一回事,到底该怎么用啊?
我在thinking in java上面看了半天都没看懂,还有finalize()的用法
这是我写的一个相关的类,为什么不能强制执行finalize()
public class Tank{
private boolean b=false;
public Tank(){
System.out.println( "Bryant ");
}
void full(){
b=false;
}
void empty(){
b=true;
}
public void finalize(){
if(b)
System.out.println( "Empty ");
}
public static void main(String[] args){
Tank tank=new Tank();
System.gc();
}
}
还有个问题就是怎么结贴?
------解决方案--------------------只是建议回收而已,不是强制
10分就算了,不结也罢
------解决方案--------------------通常不建议某个类声明finalize方法~~
------解决方案--------------------System.gc();方法不会强制执行finally方法把。
b = false
不会执行
if(b)
System.out.println( "Empty ");
------解决方案--------------------Tank tank=new Tank(); //System.gc();只回收没有引用指向的对象