HashMap
由于我的代码,我面临内存泄漏。当我第一次登录应用程序时,它会HashMap
填充并使用它Map
来缓存一些数据。
我在我的应用程序中的几个地方使用了这个缓存的数据。
当应用程序中没有运行任何内容时,它的大小在登录后不断增长。只有在自动调用垃圾收集器或我调用它的情况下,大小才会减小。
但在那之后它再次开始增加。这肯定是内存泄漏,但我该如何避免呢?
我的分析器还显示ResultSet.getString()
和Statement.execute()
作为热点内存分配。这些方法用于填充此缓存。
是否因为这些方法而导致内存泄漏?我在 finally 块中关闭了数据库连接。
为什么它仍然向我展示这些方法?