为什么 Java 在发出终端操作后不关闭() 流?
在阅读 https://www.airpair.com/java/posts/spring-streams-memory-efficiency 之后,我很想将结果从数据库中流式传输出来,但是正如我与一位同事讨论的那样(cfr.他添加到该文章中的评论),人们需要记住使用try-with-resources构造来避免任何内存泄漏。
- 为什么 Java 8 库不负责在每次终端操作后关闭流本身(而不必将流实例化包装在 try-with-resources 中)?
- 如果适用,是否有任何计划将此功能添加到 Java 中,或者请求它是否有意义?