我写了一个程序,用于对整数类型数组进行排序,该程序涉及创建另一个相同大小的数组。排序后,没有使用新的阵列,所以我想完全摆脱它。到目前为止,我只找到有关删除特定类型元素的问题。一些帮助?删除整个数组
信息(如果需要):
原始数组:A[n]
新阵列:B[n]
B[n]
已被完全删除。
我写了一个程序,用于对整数类型数组进行排序,该程序涉及创建另一个相同大小的数组。排序后,没有使用新的阵列,所以我想完全摆脱它。到目前为止,我只找到有关删除特定类型元素的问题。一些帮助?删除整个数组
信息(如果需要):
原始数组:A[n]
新阵列:B[n]
B[n]
已被完全删除。
无论何时您离开执行排序的方法(假设temp数组是在方法内创建的),temp数组将被“删除”(或更准确地说,占用的内存将符合垃圾回收的条件) 。
在Java
中几乎没有任何明确的内存释放需要。
数组是Java中的引用类型。你可以让一个数组引用null
如果不再想使用它:
arr = null;
如果阵列中的排序方法,那么它将被安排在垃圾收集本地定义,当你的方法结束一样会有不现有的参考资料。
如果它是一个类或实例变量,则将所有对它的引用设置为null
。
在Java中,您不必担心内存释放。没有像C的stdlib free(void*)
或C++的delete[]
运算符这样的东西。你只有garbage collector。
将B设置为null。 B = null;
这样垃圾收集器会在运行时清理它。虽然无法控制垃圾收集何时发生,因为每个JVM都有自己的垃圾收集算法,您可以建议系统应该运行垃圾收集器来释放一些内存。
您可以通过使用 System.gc();注意:如上所述,System.gc();其中,System.gc()和System.gc()是相同的。只会建议垃圾回收,但不能保证。
通常,gc()释放没有引用的内存。但是您也可以使用array = null
释放内存。
只需添加更多,'array = null'将确保数组已准备好进行垃圾回收......但不知道GC何时运行。 – agpt 2015-04-21 05:08:03
和哪里是java代码? – Sajmon 2013-03-16 11:03:18