在阅读https://www.airpair.com/java/posts/spring-streams-memory-efficiency之后,我很想将结果从数据库中流出来,但正如我与一位同事讨论的一样(他在该文章中添加了cfr评论),需要记住使用try-with-resources构造来避免任何内存泄漏。为什么终端操作发出后Java不关闭()流?
- 为什么不是Java 8库照顾闭流本身每个terminal operation后(无需换流实例在try-与资源)?
- 如果适用,是否有任何计划将此功能添加到Java中,还是有意义请求它?
'terminal operation'是什么意思? – 2015-03-02 15:40:39
我认为你正在将'java.io.InputStream'与'java.util.stream.Stream'混合,这是两个非常不同的概念 – 2015-03-02 15:41:21
@Zoltán不,我的确在谈论java.util.Stream,是'AutoCloseable',因此可以在'try-with-resources'内使用。 @MartinSerrano我添加了一个链接到Java的文档,涉及到一般的流和终端操作。 – 2015-03-02 15:47:10