【问题标题】:When does a static variable is really initialized [duplicate]什么时候真正初始化静态变量[重复]
【发布时间】:2014-07-16 15:35:37
【问题描述】:

我有一个 Java 类:

Class A {
  static Object a = new Object();
  Object getObject() {
    return a;
  }
}

在上面的代码中。我想问一下object a什么时候真正初始化。我的问题有两个答案:

  1. Java 程序启动时。 a 将自动初始化,尽管我们永远不会使用它。

  2. 我们第一次调用 getObject()。所以,我认为这会更加优化。

我不知道幕后哪一个是真的。

【问题讨论】:

标签: java


【解决方案1】:

当 JVM 加载类 A 时,它会执行“静态”代码块并初始化静态变量。

【讨论】:

    猜你喜欢
    • 2012-02-01
    • 1970-01-01
    • 2023-03-22
    • 2019-09-22
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多