删除整个数组

时间:2013-03-16 11:01:39

标签: java arrays

我编写了一个用于排序整数类型数组的程序,该程序涉及创建另一个相同大小的数组。排序后,没有使用新数组,所以我想完全摆脱它。到目前为止,我只发现了与删除特定类型元素有关的问题。一些帮助?

信息(如果需要):
  原始数组:A[n]
  新阵列:B[n]
必须完全删除B[n]

6 个答案:

答案 0 :(得分:5)

当您离开方法执行排序时,临时数组将被“删除”(或者更准确地说,占用的内存将有资格进行垃圾收集)(当然假设在方法内部创建了临时数组)。

Java几乎不需要显式的内存释放。

答案 1 :(得分:3)

Array是Java中的引用类型。如果您不想再使用它,可以创建数组引用null

arr = null;

答案 2 :(得分:1)

将B设置为null。 B = null;

这样垃圾收集器会在它运行时清理它。虽然您无法控制垃圾收集何时发生,因为每个JVM可能都有自己的垃圾收集算法,您可以建议系统应该运行垃圾收集器以释放一些内存。

您可以通过使用来完成此操作 的System.gc();

注意:如上所述,System.gc();只会建议进行垃圾收集,但不保证垃圾收集。

答案 3 :(得分:1)

通常gc()释放没有引用的内存。但您也可以使用array = null释放内存。

答案 4 :(得分:0)

如果数组在您的排序方法中是本地定义的,那么当您的方法结束时,它将被安排进行垃圾收集,因为没有现有的引用。

如果是类或实例变量,则将对它的所有引用设置为null

在Java中,您不必担心内存释放。没有像C的stdlib free(void*)或C ++的delete[]运算符这样的东西。你只是garbage collector

答案 5 :(得分:0)

将B设置为空数组

B = [];