gpt4 book ai didi

java - 为什么我们要关闭 java.util.Scanner 变量?

转载 作者:行者123 更新时间:2023-12-03 18:22:59 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Resource leak: 'in' is never closed

(14 个回答)


7年前关闭。




我在 Eclipse 中收到警告,代码如下:

代码:

Scanner money = new Scanner(System.in);
System.out.println(money.nextLine());
//money.close();

警告:
Description Resource    Path    Location    Type
Resource leak: 'money' is never closed apples.java /SwordsNMoney/src line 6 Java P

这个警告是什么?“资源泄漏”是什么意思?

谢谢你。

最佳答案

资源泄露通常是一种错误的资源消耗模式,其中程序不释放它已获取的资源。这可能导致服务质量差。

垃圾收集只能管理内存,不能管理其他系统资源。如果你的 Java 程序有足够的空闲内存,垃圾回收不会自动触发。

所有操作系统对可以打开的套接字、文件句柄等的数量都有限制。因此,无意维护对非内存资源的引用可能导致资源泄漏。所以管理非内存资源是极其重要的。

利用非内存资源的类应该提供显式分配/释放这些资源的方法。我们需要明确调用close() finally{} 中文件描述符的释放方法,因为无论是否引发异常,它都会执行。

关于java - 为什么我们要关闭 java.util.Scanner 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573084/

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