“关闭 ByteArrayOutputStream
无效”(http://java.sun.com/javase/6/docs/api/java/io/ByteArrayOutputStream.html#close())这句话是什么意思?
我想确保 ByteArrayOutputStream
中的内存被释放。 ByteArrayOutputStream.close()
真的释放内存吗?
谢谢。
最佳答案
Does ByteArrayOutputStream.close() really release the memory?
没有。它完全没有任何作用。你可以看看它的源码:
public void close() throws IOException {
}
要释放内存,请确保没有对它的引用,并让垃圾收集器完成它的工作。就像任何其他普通对象一样。
基于文件和套接字的流是特殊的,因为它们使用非内存操作系统资源(文件句柄),您可以独立地用完内存。这就是为什么明确关闭它们很重要。但这不适用于纯粹基于内存的ByteArrayOutputStream
。
关于java - 关闭 ByteArrayOutputStream 没有效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330569/