一个关于强迫执行垃圾回收器(System.gc())的问题。 System.gc(); 只是建议 执行垃圾回收 但是他愿不愿意 是另一回事 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.gc(); 只是告诉系统,这个东西可以回收了.但是系统是不是真正回收会看当前系统是否非常繁忙. sorry,是以上5者,大家回复的太快了。 具体原因:程序一的new Test()没有被引用,调用System.gc()后,只要线程不繁忙(大多数情况下都有空闲),new Test()会立刻被回收。程序二,永远都不会被回收。因为在main方法内,new Test一直被引用着。 楼上正确!在程序二中,只要你在System.gc()之前,设置t=null,就可以回收! feiyuegaoshan(飞跃) 说的对!t 的生命周期还在呐,sun要是垃圾回收了,有人用java才怪! feiyuegaoshan(飞跃) 说得正确 class Test{ public void finalize(){ System.out.println("called finzlize()"); } public static void main(String[] args){ Test t=new Test(); t=null; System.gc(); }}这样,就回收了 new Test();我没用过 讲讲他与 Text text=new Test();的区别?? 100分求讨论多线程文本文件单词统计 接口和抽象类的问题 最近在研究java中list的排序,觉得时间排序有点复杂。特贴出一个自己的例子,供大家参考批评~~~ JAVA与数据库的问题!!! java如何使用函数返回多个函数值?求高手知道啊 一个数据连接问题,用数据源连接的错误问题 http服务器和应用服务器有什么区别?? String的方法 关于tomcat设置的问题简单 那位大哥知道moto 6288+手机的汉字编码! 晕~~~教教我怎么用JAVA运行啊????? Hodex(小何才露尖尖角)come here
只是告诉系统,这个东西可以回收了.但是系统是不是真正回收会看当前系统是否非常繁忙.
程序一的new Test()没有被引用,调用System.gc()后,只要线程不繁忙(大多数情况下都有空闲),new Test()会立刻被回收。程序二,永远都不会被回收。因为在main方法内,new Test一直被引用着。
在程序二中,只要你在System.gc()之前,设置t=null,就可以回收!
public void finalize(){
System.out.println("called finzlize()");
}
public static void main(String[] args){
Test t=new Test();
t=null;
System.gc();
}
}这样,就回收了
我没用过
讲讲他与
Text text=new Test();的区别??