当前位置: 首页 > 知识库问答 >
问题:

Java“资源泄漏”警告在应该触发时没有触发

平羽
2023-03-14

我有一个名为JavaShellStream的类,它扩展了接口closeableautocloseable。但是,当我使用该类并且不调用它的close()方法时,不会触发存在资源泄漏的警告。我还有一个名为JavaShell的类,它有一个名为exec(String cmd)的方法,返回一个JavaShellStream对象。当我以以下方式创建一个新的JavaShellStream对象时,不会触发任何资源泄漏警告:

//workingDir is a File object that sets the working directory
JavaShell js = new JavaShell(workingDir); 
//execute the "ls" command and retrieve output as a JavaShellStream
JavaShellStream jss = js.exec("ls");
/*
 * some code to read the text from the stream
 * but DOES NOT close the stream
 */
// Note that I am NOT calling the close() method

共有1个答案

仉宪
2023-03-14

如果您正在使用Eclipse(正如链接的问题所涉及的那样),有一个选项可以在有可能出现资源泄漏的地方显示警告。

转到窗口>Preferences>Java>Compiler>Errors/Warnings,并将“潜在资源泄漏”的严重级别设置为Warning。

 类似资料:
  • 我有一个名为的类,它扩展了接口和。但是,当我使用该类并且不调用其方法时,不会触发资源泄漏的警告。我有另一个名为的类,它有一个名为的方法,该方法返回一个对象。当我以以下方式创建新的对象时,不会触发任何资源泄漏警告: 为什么这里没有触发资源泄漏的警告,因为从未关闭?这里的答案是,触发它所需要的只是实现接口,但我的类同时实现了和,但在未关闭时不会触发任何警告。

  • 我是个新手。我已经编写了这段代码,它显示那里存在资源泄漏 这是什么意思?抱歉,我太天真了。

  • 在中,我收到了一个警告,我不明白这一点。 这是理解问题还是java/eclipse问题?

  • 我正在读取一个文件并将其内容存储在字符串中。代码给了我一个警告:Resource leak:。我如何解决它?

  • eclipse“潜在资源泄漏”警告不正确。 没有警告: 警告:潜在资源泄漏:“此位置可能未关闭响应” 为什么第二种方法会引起警告? 谢谢!

  • 我使用一个用不同长度的不同值填充字节数组。我使用方法。由于此方法继承自,因此可能会引发IOException。在中有一个方法不会引发IOException,因此我扩展了并覆盖方法,该方法现在也不会引发IOException: 对于扩展类,我在eclipse 4.5.1中得到了资源泄漏的警告,因为我没有关闭代码中的流。的情况并非如此。我的扩展类有什么问题,或者我需要添加什么来删除警告?我知道我可以将