java - 关闭 ByteArrayOutputStream 没有效果?

标签 java

“关闭 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/

相关文章:

java - 使用 CLOB 和 VARCHAR2 参数从 PL/SQL 调用 Java 函数

java - Spring - 具有 hibernate 数据库插入功能的 mvc(SimpleFormController)

java - 如何不同步 Hazelcast 中服务之间的所有 map

java - 使用 Java 托管 HTTP 端点

java - 求平均数的函数法

java - 初始化 ArrayList 的数组

java - 正则表达式中的双正斜杠句点

java - onStart olmuyor Android Studio

java - 确认后 Facebook 支付对话框不调用回调

java - 在 RecyclerView 中设置 CardView 的背景图片会导致程序在滚动时崩溃