Java中字节数组的空闲内存

时间:2010-06-04 12:50:45

标签: java bytearray byte

释放由字节数组分配的内存的最佳方法是什么(Java中的新字节[size])?

4 个答案:

答案 0 :(得分:50)

停止引用它。

答案 1 :(得分:14)

在Java中创建新的byte []时,可以执行类似

的操作
byte[] myArray = new byte[54];

要释放它,你应该

myArray = null;

如果其他东西引用了你的字节数组,比如

yourArray = myArray;

你还需要将其他引用设置为null,如此

yourArray = null;

在Java中,垃圾收集是自动的。如果JVM可以检测到整个程序无法再访问一块内存,那么JVM将为您释放内存。

答案 2 :(得分:6)

删除对该字节数组的所有引用。垃圾收集器将负责其余的工作。

答案 3 :(得分:2)

将对它的所有引用设置为null将使其成为Java的自动垃圾回收的候选者。你不能确定这需要多长时间才会发生。如果您确实需要立即显式回收内存,则可以拨打System.gc();

另外,为了清除您可能不需要明确地将引用设置为null。如果引用超出范围,它们将自动为空,例如一旦在完成执行时声明它的方法,局部变量引用将被清零。因此,局部变量通常在应用程序运行时期间一直隐式释放。