gpt4 book ai didi

java - 在 java 中访问静态变量时,类是否会加载到内存中?

转载 作者:行者123 更新时间:2023-11-29 08:54:06 26 4
gpt4 key购买 nike

我有一个类:

public class Foo {
public static boolean flag = false;
//some code
}

我在另一个类中使用这个 boolean 标志:

public class FooImpl{
public static void main (String args[]) {
if (Foo.flag){
//Line 1
//some code
}
}
}

所以在 第 1 行 中,类 Foo 是完全加载到内存中还是只加载带有默认值的静态变量?

最佳答案

类的静态初始化通常发生在第一次发生以下事件之前:

  • 创建类的一个实例,
  • 调用类的静态方法,
  • 分配了类的静态字段,
  • 使用非常量静态字段,或者

参见 JLS 12.4.1 .

关于java - 在 java 中访问静态变量时,类是否会加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com