卸载静态字段

Ali*_*ila 10 java static initialization

我有一个java类,它使用复杂的静态字段,需要特殊的操作,close()以便GC安全地清理它们.

对于静态字段的初始化,我使用static块.但我现在不知道如何安全地卸载静态字段,以便我可以close()在GC清理字段之前调用该方法.

有没有办法卸载静态字段,类似于静态初始化块?

Kal*_*Kal 8

没有办法做你要求的事情,因为静态块在加载类时被初始化,而finalize()仅适用于对象.

考虑使用Singleton类及其实例替换静态变量及其中的复杂操作.

这样,您就可以使用finalize()方法来执行close()操作.