我有这样一种情况,在构造一个对象时,静态变量递增 1。 现在,我希望这个变量在对象死亡后立即递减。
覆盖 finalize
是一种方法,但这并不能确保 尽快 部分并且也不能保证。
还有其他方法可以实现吗?
编辑:真正的问题是,我需要像“Thread-1”“Thread-2”等线程排序,如果“Thread-2”死了,你希望下一个创建的线程成为“Thread-2”
最佳答案
通常没有使用finalizer方法的情况。也许在 JNI 中。
连IO清理都不应该在finalize中调用,因为它不确定什么时候调用。
对于资源,Closable 接口(interface)是使用的模式。
关于java - 对象死亡时不执行终结器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23078807/