静态变量的实际存储位置是什么?

静态变量是在程序执行的整个过程中分配的,因此堆栈和堆都不方便。那在哪呢 应该在某个地方加载它吗?

回答:

静态字段在加载类时被初始化,并且在卸载该类的类加载器时被丢弃。它们可以被清理,甚至可以在另一个类加载器中复制。

对于使用OSGi的此类应用程序,静态变量在整个应用程序生命周期中都不会存在,因此可以多次重装。

实现方式可能取决于JVM,但Sun / Oracle

JVM创建一个“对象”来保存类的静态字段。可通过Unsafe类访问此对象,该类也可用于检查此“对象”字段。

以上是 静态变量的实际存储位置是什么? 的全部内容, 来源链接: utcz.com/qa/406183.html

回到顶部