有一个项目主要处理输入/输出流。所以我必须将流作为参数传递并从第三方库接收它们。我读过Good design: How to pass InputStreams as argument? 和关闭 Java InputStreams,但我不能 100% 确定第三方是否共享相同的编码值并遵循最佳设计模式(特别是 - “打开流的人应该关闭流”)
假设流非常大(500Mb - 3Gb)并且我的 CPU 和内存资源很紧张,这里有几个 Java SO 社区的问题:
- 我应该尝试关闭从第三方库获得的流吗?
- 未关闭的流可能带来哪些危险影响(不包括额外的 GC 工作量)
- 这些影响是否与流大小成正比?