finalize方法为何没有被调用??
来源:互联网 发布:淘宝产品单反拍摄技巧 编辑:程序博客网 时间:2024/04/24 08:36
class ConnectionInfo{
private static String uname = null;
private static String upasswd = null;
private static boolean lineReady = false;
private ConnectionInfo(String uname,String upasswd,boolean lineReady){
this.uname = uname;
this.upasswd = upasswd;
this.lineReady = lineReady;
}
public String getUname(){
return uname;
}
public String getUpasswd(){
return upasswd;
}
public boolean getLineReady(){
return lineReady;
}
public static ConnectionInfo getConnectionInfo(String uname,String upasswd,boolean lineReady){
if(uname.equals("wangkai") && upasswd.equals("106") && lineReady == true)
return (new ConnectionInfo(uname,upasswd,lineReady));
else
return null;
}
protected void finalize(){
System.out.println("Ready to disappear... ...");
}
}
class ConnectionState{
private boolean state = false;
private ConnectionInfo ci = null;
public ConnectionState(ConnectionInfo ci){
if(ci != null){
this.ci = ci;
state = true;
}
}
public boolean cutConnection(){
state = false;
return state;
}
public boolean getState(){
return state;
}
public ConnectionInfo getCi(){
return ci;
}
protected void finalize(){
if(this.state)
System.out.println("Error:connection has not been cutted...");
}
}
public class UseConnection{
public static void main(String[] args){
ConnectionInfo connectionInfo = ConnectionInfo.getConnectionInfo("wangkai","106",true);
ConnectionState conn = new ConnectionState(connectionInfo);
if(conn.getState())
System.out.println("user of this connection is " + conn.getCi().getUname());
else
System.out.println("connection is not existent.");
System.out.println("state of object conn is " + conn.getState());
System.gc();
}
}
有一段代码如上,我希望在finalize方法中检测state字段的值是否为false,但是我发现finalize方法似乎并没有被调用,不知这是为何??
- finalize方法为何没有被调用??
- finalize()方法调用的时机
- ondraw方法没有被调用
- finalize()在什么时候被调用?
- finalize()在什么时候被调用?
- java中gc()何时调用finalize()方法
- CLR Via C#读书笔记——Finalize方法被调用的时机【2011-01-18】
- finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?
- finalize()方法
- finalize方法
- finalize方法
- finalize方法
- finalize()方法
- finalize()方法
- finalize() 方法
- finalize方法
- finalize()方法
- SPField的GetValidatedString方法没有被调用
- 黑客书架上出现频率最高的9部半书籍
- 系统程序员成长计划-Don’t Repeat Yourself(DRY)(上)
- 大三笔记
- java 文件操作
- 【转】上什么公司,加什么班
- finalize方法为何没有被调用??
- 【转】谈IT工作者的加班
- 最大的敌人
- UML 简介
- 祝贺自己在CSDN的博客当选为“专家博客”
- 我的漫漫程序人生路(上)
- 我的漫漫程序人生路(中)
- 我的漫漫程序人生路(下)
- 细微之处往往深藏一份执著