日期:2014-05-20  浏览次数:20603 次

关于垃圾回收和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();只回收没有引用指向的对象