gpt4 book ai didi

java - 如何强制释放资源?

转载 作者:行者123 更新时间:2023-12-01 09:46:17 24 4
gpt4 key购买 nike

我有一个名为 Parameter 的类,它包装不同的值,包括 java.sql.Clob

通过 JDBC4 规范,我们有 free()可以调用该方法来释放分配给 Clob 的资源目的。我正在考虑制作Parameter A级AutoClosable并调用free()里面的方法close()

效果很好,但我也想要一些东西来强制执行或至少暗示其他人 ParameterAutoClosable 的一个实例

除了文档之外,还有其他方法可以实现这一目标吗?基本上我正在寻找在这种情况下可以做的额外事情。

最佳答案

通常的方法是实现一个具有可配置超时的ObjectPool。当对象从 ObjectPool 中取出时开始计数,并检查它是否在超时结束时返回到池中。如果 Object 没有返回到池中,则抛出异常或强制释放 Object 保留的资源。这样您将强制程序员调用 close() 方法或检测泄漏。

大多数数据库连接池库都有此功能。检查JDBCConnectionPool - InactiveConnectionTimeoutSecondsApache Commons Pool - AbandonedConfig

关于java - 如何强制释放资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37991922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com