程序中用到了大量的数组,怎么进行回收? 不能强制,但是可以建议执行回收,一般情况下建议是有效的。System.gc();BTW,是什么数组会有那么大啊?一般情况下我们很少真正需要明确建议JVM执行回收的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对了,提醒一点:对于数组,尤其是对象数组,使用完毕以后最好手工null掉对它们和他们的元素的引用,因为只要程序中还有对它们的引用,对象就不能被回收。 举个例子:int[] a = new int[10];.........//不再需要数组a了a = null;//如果觉得不放心,可强制让jvm执行垃圾回收System.gc();//但是,jvm的垃圾回收是单进程的,jvm垃圾回收的时候,其他的事情都会停止//所以不建议在程序里经常使用System.gc();祝你好运! 把数组的对象引址清为NULL就可以,不用System.gc();就可以。有时用了,系统也不一定回收的。 如果效率要求不那么严格的话,你可以考虑用ArrayList(单线程) 或 Vector(多线程),清除的时候,只需要clear一下,就可以了。 我说的是programer23(亮子),呵呵 netbeans界面设计问题 关于Java中的 final,请各位高手指点! GUI编程求救!!! 一个简单问题,请帮助! 帮我看看这段程序,对大家也有益! 一个小问题!!! 如果我想在我所有的类中有一个我自已的基类行不行? swing对话框问题? 关于GUI的问题 请问printArray方法为什么要加static? 请问如何从数据库中读取媒体文件,如图片,mpeg 等 JFrame 在WinXP中出现的不弹出问题
int[] a = new int[10];
...
...
...
//不再需要数组a了
a = null;
//如果觉得不放心,可强制让jvm执行垃圾回收
System.gc();//但是,jvm的垃圾回收是单进程的,jvm垃圾回收的时候,其他的事情都会停止
//所以不建议在程序里经常使用System.gc();祝你好运!
有时用了,系统也不一定回收的。