首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java“资源泄漏”警告不触发

Java“资源泄漏”警告不触发
EN

Stack Overflow用户
提问于 2016-11-03 16:38:29
回答 1查看 292关注 0票数 2

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

代码语言:javascript
复制
//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

为什么这里没有触发任何警告,因为JavaShellStream jss从未关闭过,因此出现了资源泄漏?here的回答是,触发它所需要的只是实现接口Closeable,但是我的类实现了CloseableAutocloseable,但在未关闭时不会触发任何警告。

EN

回答 1

Stack Overflow用户

发布于 2016-11-03 16:48:46

如果您正在使用Eclipse (正如链接问题所涉及的那样),则有一个选项可以在可能发生资源泄漏的情况下显示警告。

转到Window > Preferences > Java > Compiler >Error/警告,并将“潜在资源泄漏”的严重性级别设置为警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40406888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档