不能强制,但是可以建议执行回收,一般情况下建议是有效的。System.gc();BTW,是什么数组会有那么大啊?一般情况下我们很少真正需要明确建议JVM执行回收的。

解决方案 »

  1.   

    对了,提醒一点:对于数组,尤其是对象数组,使用完毕以后最好手工null掉对它们和他们的元素的引用,因为只要程序中还有对它们的引用,对象就不能被回收。
      

  2.   

    举个例子:
    int[] a = new int[10];
    ...
    ...
    ...
    //不再需要数组a了
    a = null;
    //如果觉得不放心,可强制让jvm执行垃圾回收
    System.gc();//但是,jvm的垃圾回收是单进程的,jvm垃圾回收的时候,其他的事情都会停止
    //所以不建议在程序里经常使用System.gc();祝你好运!
      

  3.   

    把数组的对象引址清为NULL就可以,不用System.gc();就可以。
    有时用了,系统也不一定回收的。
      

  4.   

    如果效率要求不那么严格的话,你可以考虑用ArrayList(单线程) 或 Vector(多线程),清除的时候,只需要clear一下,就可以了。
      

  5.   

    我说的是programer23(亮子),呵呵