Java中字节数组的可用内存

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

停止引用它。

在Java中创建一个新的byte []时,你会做类似的事情

 byte[] myArray = new byte[54]; 

要释放它,你应该这样做

 myArray = null; 

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

 yourArray = myArray; 

你还需要将其他引用设置为null,就像这样

 yourArray = null; 

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

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

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

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