java - 需要在 GC 之前关闭存储为 SoftReference 的PreparedStatements

标签 java database jdbc database-connection

我正在使用一个内部数据库连接池来缓存PreparedStatements。当连接返回到池中时,缓存的Statement并没有关闭。这些会在 mySQL 驱动程序中创建 OutOfMemoryExceptions。所以我计划将PreparedStatement缓存存储在HashMap >

但这不允许我在 GC 之前关闭语句。

我猜使用 ReferenceQueue 是没有用的,而且我读到不建议使用 Finalize 方法。

最佳答案

重写finalize()可能有帮助吗?

关于java - 需要在 GC 之前关闭存储为 SoftReference 的PreparedStatements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899559/

相关文章:

java - ™ 字符未被 GetStringChars() 正确翻译

FileChooser 保存对话框上的 JavaFX ExtensionFilter 在 macOS 上太宽

mysql - 有没有办法只导入数据库表架构

python - Storbinary 格式字符串 Python3 FTPLib

java - Hibernate 中 JTA、JPA 和普通 JDBC 的区别

java - 不一致的 java 和 sql 对象类型

java - 如果实际参数是 lambda,则在重载方法之间进行选择

java - SWT 绘图中的 z 索引?

database - 数据库供应链管理

java - 多次高效地使用 Prepared Statement