把Connection设置null,有必要吗?设置Object为null是否释放资源?两个问题一并问
释放Connection的代码有的写法如下:
if(conn!=null&&!conn.isClosed()){ conn.close(); conn=null; }
是不是将conn对象设置为null就会销毁该对象或是加速释放呢?自己做了测试代码:
public class Test {
/**
*
*/
public Test() {
super();
}
/**
* @param args
*/
public static void main(String[] args) {
aa();
}
@Override
protected void finalize() throws Throwable {
// TODO 自动生成方法存根
super.finalize();
System.out.println("freed");
}
private static void aa()
{
Test tt = new Test();
System.out.println(tt.getClass().getName());
tt = null;
//System.gc();
}
}
实际上只有执行System.gc()才销毁了对象,那设置Object=null有何意义呢?