在 Java 中替换 finalize()
2022-09-01 14:32:39
Object.finalize()
在Java 9中被弃用,我想我理解了原因,但我很难看到如何替换它。
我有一个名为 Configuration 的实用程序类,它本质上有一个实例,该实例拥有应用程序中的所有内容,并在应用程序期间持续存在。它提供的服务之一是日志记录:在第一次请求记录消息时,创建一个记录器(由于各种遗留原因,它是我自己的记录器而不是标准记录器),引用保存在配置对象的字段中,并且在应用程序终止时,无论是正常还是异常,我都想释放记录器持有的任何资源(这是一个黑匣子,因为我的库的用户可以提供自己的资源)实现)。
目前,这是通过调用 的方法实现的。Configuration.finalize()
logger.close()
我应该做什么?