Ali*_*ila 10 java static initialization
我有一个java类,它使用复杂的静态字段,需要特殊的操作,close()
以便GC安全地清理它们.
对于静态字段的初始化,我使用static
块.但我现在不知道如何安全地卸载静态字段,以便我可以close()
在GC清理字段之前调用该方法.
有没有办法卸载静态字段,类似于静态初始化块?
没有办法做你要求的事情,因为静态块在加载类时被初始化,而finalize()仅适用于对象.
考虑使用Singleton类及其实例替换静态变量及其中的复杂操作.
这样,您就可以使用finalize()
方法来执行close()
操作.