You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
723 B
723 B
1.内部静态类
内部静态类即使存在多个类加载器的情况下也只会初始化一次,因此是线程安全的
public class StaticHolderSingleton {
private StaticHolderSingleton() {
}
private static class ClassHolder {
static final StaticHolderSingleton INSTANCE = new StaticHolderSingleton();
}
public static StaticHolderSingleton getInstance() {
return ClassHolder.INSTANCE;
}
public static void main(String[] args) {
StaticHolderSingleton clz = StaticHolderSingleton.getInstance();
}
}
2.基于枚举
public enum EnumSingleton {
INSTANCE;
EnumSingleton() {
}
}
当EnumSingleton.INSTANCE首次被引用时才会被初始化