class A {
  double[][] a;  //在这个函数中为a分配内存
  public void assign() {
    a = new double[1000][1000];
  }  //在这个函数中为a释放内存,能不能写个这样的函数实现呢?
  public void release() {
    //怎么写?
  }
}谢谢!

解决方案 »

  1.   

    在Java语言中,判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个: 
    1.给对象赋予了空值null,以下再没有调用过。 
    2.给对象赋予了新值,既重新分配了内存空间。a = null; // 应该可以了吧 本人初学 请高手指点
      

  2.   

    a = null,它会使这块内存变成垃圾。在java中不必当心,因为它回自动回收。但在C\C++中这样就是内存遗漏。当a=null后,调用回收System.gc()
      

  3.   

    即使使用了a=null,也不能肯定那部分内存被马上回收了。因为System.gc(),会等到系统比较空闲的时候进行内存回收工作的。
      

  4.   

    System.gc() 是被动的调用垃圾回收器 ,不会立即释放内存空间