我编写了一个用于对整数类型数组进行排序的程序,该程序涉及创建另一个相同大小的数组。排序后,新数组没有用,所以想彻底去掉。到目前为止,我只发现了与删除特定类型元素有关的问题。一些帮助?
信息(如果需要):
原始阵列:A[n]
新阵列:B[n]
B[n]
必须完全删除。
每当您离开执行排序的方法时,临时数组将被自动“删除”(或者更准确地说,占用的内存将有资格进行垃圾回收)(当然假设临时数组是在方法内部创建的)。
在Java
.
数组是 Java 中的一种引用类型。null
如果您不想再使用它,可以进行数组引用:
arr = null;
将 B 设置为空。B =空;
这样,垃圾收集器将在运行时对其进行清理。虽然您无法控制垃圾收集何时发生,因为每个 JVM 可能都有自己的垃圾收集算法,但您可能会建议系统运行垃圾收集器以释放一些内存。
您可以使用 System.gc();
注意:如上所述,System.gc(); 只会建议进行垃圾收集,但不能保证。
通常 gc() 会释放没有引用的内存。但您也可以使用array = null
.
如果数组是在您的排序方法中本地定义的,那么当您的方法结束时,它将被安排进行垃圾收集,因为没有对它的现有引用。
如果它是类或实例变量,则将对其的所有引用设置为null
.
在 Java 中,您不必担心内存释放。没有像 C 的 stdlibfree(void*)
或 C++ 的delete[]
运算符这样的东西。你只是垃圾收集器。
将 B 设置为空数组
B = [];