Vic*_*tor 9 java singleton enums
Java如何在内部确保每个JVM只存在一个ENUM实例?它是在应用程序启动时创建的,当多个线程访问它时,它会返回启动时创建的对象吗?
或者它是否实现了类似于单例模式的某种双重同步,这样即使多个线程访问它,也只会创建一个istance?
正如你在这个答案中读到的那样,枚举实例是静态类字段,所以当你第一次访问类时,它们被初始化为类加载的一部分.
classloading在内部同步,以确保枚举实例是单例(同一个类加载器中的单例,即如果你有多个加载器加载相同的枚举,你将获得多个实例)