Java 方法签名如何仅为“0”;“静态”;工作

Java 方法签名如何仅为“0”;“静态”;工作,java,static,Java,Static,可能重复: 我有几年的Java经验,但最近遇到了一些我以前从未见过的东西: public class Project{ ... static{ initDataTypeMapping(); } ... } 这个签名方法是如何工作的?这实际上是一种技术上的方法吗?我想知道为什么不简单地将对initDataTypeMapping()的方法调用放在构造函数中。只是想增加我的理解力,这样我就不会把事情搞砸了。谢谢 这被称为一个 static{}块中的代码在类加载器首次加载类时运行(通常,但不总是

可能重复:

我有几年的Java经验,但最近遇到了一些我以前从未见过的东西:

public class Project{
...
static{
  initDataTypeMapping();
}
...
}
这个签名方法是如何工作的?这实际上是一种技术上的方法吗?我想知道为什么不简单地将对
initDataTypeMapping()
的方法调用放在构造函数中。只是想增加我的理解力,这样我就不会把事情搞砸了。谢谢

这被称为一个

static{}
块中的代码在类加载器首次加载类时运行(通常,但不总是,在引用类的代码首次加载/执行时),并保证以线程安全的方式运行

另请参见。

这被称为

static{}
块中的代码在类加载器首次加载类时运行(通常,但不总是,在引用类的代码首次加载/执行时),并保证以线程安全的方式运行


另请参见。

代码只运行一次,对吗?第一次引用代码?代码只运行一次,对吗?第一次引用代码时?