我正在使用一个内部数据库连接池来缓存PreparedStatements。当连接返回到池中时,缓存的Statement并没有关闭。这些会在 mySQL 驱动程序中创建 OutOfMemoryExceptions。所以我计划将PreparedStatement缓存存储在HashMap
但这不允许我在 GC 之前关闭语句。
我猜使用 ReferenceQueue 是没有用的,而且我读到不建议使用 Finalize 方法。
最佳答案
重写finalize()可能有帮助吗?
关于java - 需要在 GC 之前关闭存储为 SoftReference 的PreparedStatements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899559/