java如何确保每个JVM只有一个枚举实例

Java如何在内部确保每个JVM只存在一个ENUM实例? 它是在应用程序启动时创建的,当多个线程访问它时,它会返回启动时创建的对象吗?
或者它是否实现了类似于单例模式的某种双重同步,这样即使多个线程访问它,也只会创建一个istance?

正如您可以在此答案中读到的那样,枚举实例是静态类字段,因此在您第一次访问该类时将其初始化为类加载的一部分。

classloading在内部同步 ,以确保枚举实例是单例(同一个类加载器中的单例,即如果你有多个加载器加载相同的枚举,你将获得多个实例)

枚举实例是在类加载时创建的。 如果同一个枚举由多个类加载器加载(例如,当通过Web应用程序容器播放类加载游戏时),则内存中将存在多个不兼容的实例。