我在Eclipse中收到以下代码警告:
码:
Scanner money = new Scanner(System.in);
System.out.println(money.nextLine());
//money.close();
Run Code Online (Sandbox Code Playgroud)
警告:
Description Resource Path Location Type
Resource leak: 'money' is never closed apples.java /SwordsNMoney/src line 6 Java P
Run Code Online (Sandbox Code Playgroud)
这是什么警告?“资源泄漏”是什么意思?
谢谢。
资源泄漏 通常是资源消耗的错误模式,其中程序不会释放其获取的资源。这可能会导致服务质量下降。
垃圾收集只能管理内存,不能管理其他系统资源。如果您的Java程序具有足够的可用内存,那么垃圾收集将不会自动触发。
所有操作系统对可以打开的套接字,文件句柄等数量都有限制。因此,对非内存资源的无意维护会导致资源泄漏。因此,管理非内存资源非常重要。
利用非内存资源的类应该提供显式分配/取消分配那些资源的方法。我们需要在中显式调用close()方法来释放文件描述符finally{},因为无论是否引发异常,它都会执行。
| 归档时间: |
|
| 查看次数: |
9967 次 |
| 最近记录: |