这个错误 "Resource Leak scanner is never closed " 如何影响代码

how this error "Resource Leak scanner is never closed " can affect the code

我收到这个错误"Resource Leak input is never closed "我在网上看到了一些解决这个问题的方法,但是我不愿意解决这个问题,除非它会影响程序的性能,因为代码是运行很好

import java.util.Scanner;
public class Input {
public static double[][] Get_Ppe_Condition(int row,int col){
    Scanner input=new Scanner(System.in);
the rest of the code....

所以我的问题是这种类型的错误是否会影响代码的 运行 时间,或者它会影响结果的准确性吗?你们建议解决它吗?解决此类错误的更好方法是什么? 提前致谢

Eclipse 向您显示该错误,因为通常让资源处于打开状态是一种糟糕的形式。

但是,在与您的 Scanner 相关的文件句柄和套接字的特定情况下,我不确定 Scanner 是否会覆盖 finalize() 方法以明确清理您在离开资源时留下的混乱像那样打开。让 Scanner 保持打开状态,就会造成潜在的内存泄漏,即使 GC 最终解决了这个问题,如果您明确关闭 Scanner,释放资源的速度也会比等待 GC 快得多。由于某种原因,这些类型的资源通常包括 close()destroy()shutdown() 方法。

它会影响代码的 "accuracy" 或速度吗?不是在这个(简单的)案例中,但是如果你曾经专业地工作并为一个复杂的项目编写草率的代码,你就会将该项目置于内存泄漏的风险之中,并且你可能不会在这份工作中持续很长时间。

你是怎么解决的?按照 Takendarkk 的说明进行操作并添加 in.close()。如果一个简单的小动作就能避免这么多问题,何乐而不为呢? article from IBM 更详细地讨论了这个问题。