如果某个对象在某个类中有静态引用,该对象是否永远不会被垃圾回收?还会在什么时候初始化静态字段?
答案 0 :(得分:1)
加载类时会初始化静态字段。卸载类加载器时可以进行GCed。
答案 1 :(得分:1)
嗯,多次询问这个问题。由于这是两个问题,让我们分解一下:
当加载它们的ClassLoader可用于垃圾收集时,静态变量是垃圾收集的。查看这篇文章: Are static fields open for garbage collection?
对于初始化,一旦首次加载保存它们的类,它们就会被初始化。也请查看这篇文章: Why static fields are not initialized in time?