目前我好象有必要知道。
解决方案 »
- 正则表达式问题
- JAVA调用MSSQL2000存储过程,急
- JAVA读写XML文件版本兼容问题
- 关于java中的printf()
- 我在用jai画图的时候,两个圆重叠,但是颜色不一样,我希望重叠的部分颜色自动变成该变成的颜色,咋办?
- 用什么办法把JFrame窗口右上角的关闭窗口按钮(X)给取消了!谢谢
- 请问哪里有JAVA的帮助文档下载(140多兆的那个)
- 怎么实现 自动提示栏,像JBuilder和Vc那样的
- 如何使java Matcher线程安全
- 我想把Oracle的blob类型字段插入SQL server的binary中出现错误
- audioinputstream 播放mp3的暂停功能
- 帮忙看一下代码会什么会有异常?
但是可以使用finalize()来进行一些相关资源的清楚动作。范例public class Gctext{
private String name; public Gctest(String name) {
this.name = name;
System.out.println(name + "建立"); } //对象回收前执行
protected void finalize(){
System.out.println(name + "被回收");
}
}//做个简单的执行测试
public class UseGc{
public static void main(String[] args){
System.out.println("请按Ctrl + c终止程序") GcTest obj1 = new GcTest("Object1");
GcTest obj2 = new GcTest("Object2");
GcTest obj3 = new GcTest("Object3");
//命令名称不参考至对象
obj1 = null;
obj2 = null;
obj3 = null;//建议回收对象
System.gc(); while(true);//不断执行程序
}
}程序结果如下
请按Ctrl + c 终止程序
bject1 建立
bject2 建立
bject3 建立
bject3 被回收
bject2 被回收
bject1 被回收
(楼主可以试试finalize()的这个方法去检验一下引用的对象是否已经被回收)
这个能看出什么。