java - 我如何找到我的代码中所有未关闭的实例和对象?

标签 java try-with-resources autocloseable

我的团队有相当多的代码。最近发现一些对象没有正常关闭。
我如何找到所有未关闭或不在 try-with-resources block 内的实例?
StatementResultSet 等对象甚至没有显示警告消息。

是否有显示所有这些事件的扩展工具?
我正在使用 Eclipse。

最佳答案

静态代码分析工具,如 Sonar应该找到所有这些事件并警告你。
IDEA IntelliJ's inspection profiles还包括一些规则(设置 > 编辑器 > 检查 > Java > 资源管理问题,或仅通过检查中的“关闭”进行过滤)。

我看到您正在使用 Eclipse。您可能可以安装 the FindBugs Eclipse plugin ,其中包括一些用于检查资源是否已正确关闭的规则。

关于java - 我如何找到我的代码中所有未关闭的实例和对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42220943/

相关文章:

java - executeUpdate 在大表上返回负值

java - 如何在元素级别而不是属性上区分XML?

java - 为什么 Try-With-Resources 不会每次都创建一个新实例

java - try-with-resources 和 HikariCP 的连接泄漏

kotlin - 我自己对 Kotlin 的 try-with-resources 缺席的解决方案

kotlin - 为什么 use block 不能安全地初始化 var?

java - 如何在 Java 中使用 readline() 方法?

java - 如果构造函数抛出异常,是否不调用 try-with-resources 习惯用法的 close 方法?

java - 对 try block 外的 AutoCloseable 实例的引用

java - Java 8 中的偏函数应用