java搜索“可关闭”对象,其中未调用close

Posted

技术标签:

【中文标题】java搜索“可关闭”对象,其中未调用close【英文标题】:java search for `closable` objects, where close was not called 【发布时间】:2020-02-28 08:57:32 【问题描述】:

看起来我在项目中有内存泄漏,我能够找到 2 个方法,其中创建了 closable 资源,但从未调用过 close 方法。

是否可以在不调用close方法的情况下扫描项目,找到资源?

有人将 lints 用于此类目的吗?任何建议都可能有所帮助。谢谢。

【问题讨论】:

“可关闭资源的创建位置”尼特:这是一个 resource 泄漏,不一定是内存泄漏。 【参考方案1】:

为了识别内存泄漏,您可以在 JVM 配置中启用详细垃圾收集 (-verbose:gc)。其中显示有关您的 GC 的详细信息。摘要报告显示在默认错误文件中,它将帮助您了解内存的使用情况。从这些报告中您可能会猜到这些问题。

【讨论】:

以上是关于java搜索“可关闭”对象,其中未调用close的主要内容,如果未能解决你的问题,请参考以下文章

在客户端 JAVA 中调用 socket.close() 时,套接字未关闭服务器端

未调用静态对象的Android ctor

关闭模式视图时未调用 onDisappear

Effective Java2读书笔记-创建和销毁对象

Java-NIO 之 Buffer 与 Channel

未调用的对象的属性错误[关闭]