静态变量在gc中的处理方式是什么?

3
静态变量是如何被垃圾回收器处理的?它们在内存中分配到哪里?在堆上还是栈上(作为成员变量)?请为我澄清这一点。
1个回答

7
静态变量只有在类本身被垃圾回收时才能进行垃圾回收 - 只有加载它们的类装入器被垃圾回收时,类才能进行垃圾回收。
参见JLS § 12.7

只有在其定义的类装入器可以像§12.6中所讨论的那样被垃圾收集器回收时,类或接口才能被卸载。由引导程序加载器加载的类和接口不能被卸载。

静态字段分配在堆上。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接