java - 对象死亡时不执行终结器方法

标签 java finalizer

我有这样一种情况,在构造一个对象时,静态变量递增 1。 现在,我希望这个变量在对象死亡后立即递减。

覆盖 finalize 是一种方法,但这并不能确保 尽快 部分并且也不能保证。

还有其他方法可以实现吗?

编辑:真正的问题是,我需要像“Thread-1”“Thread-2”等线程排序,如果“Thread-2”死了,你希望下一个创建的线程成为“Thread-2”

最佳答案

通常没有使用finalizer方法的情况。也许在 JNI 中。

连IO清理都不应该在finalize中调用,因为它不确定什么时候调用。

对于资源,Closable 接口(interface)是使用的模式。

关于java - 对象死亡时不执行终结器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23078807/

相关文章:

.net - 在终结器中访问引用类型成员变量是否安全?

java - Finalize() 何时执行?

java - 使用外部类访问静态类成员

java - 处理SWT和NatTable的自动化工具

java - 如何使 Android CheckBoxPreference 不可点击?

java - 是否可以在( native )调用过程中的对象上调用终结器?

c# - 终结器队列的大小

c# - 为什么java和c#有终结器?

java - 使用 Java Web 服务从 IP 地址派生国家/地区代码

java - OpenGL绘制数千个二维圆