gpt4 book ai didi

java - 未分配的可关闭流

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:29 25 4
gpt4 key购买 nike

我正在使用 Eclipse Juno 并在编写以下代码时,Eclipse 警告我可能存在内存泄漏:

String s = new Scanner( System.in ).nextLine();

事实上,我从不关闭 System.in 流。 JVM(jre7)如何处理这个?好用吗?

最佳答案

我相信这是虚惊一场。 Eclipse 将它与类似这样的东西混淆了:

String s = new Scanner(new FileReader("foo.txt")).nextLine();

每次执行它时,确实会泄漏一个新的 Closeable。

但是在您的代码中,底层流 (System.in) 仍然可以访问和使用。当然,从“资源泄漏”的角度,没必要关闭。


Indeed, I never close the System.in stream. How does the JVM (jre7) handle this ?

System.in 流保持打开状态,直到(大概)应用程序退出。但这与您没有首先调用 new Scanner(System.in) 的情况没有什么不同。

关于java - 未分配的可关闭流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12839301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com