请问如何可以证明枚举单例是懒加载呢?我测试了一下,而且通过自定义枚举类,枚举本质就是饿汉式吧:
public enum Singleton {
INSTANCE;
private Singleton(){
System.out.println(“私有构造方法”);
}
static {
System.out.println(“静态代码块”);
}
public void show(){
System.out.println(“实例方法”);
}
public static void say(){
System.out.println(“静态方法”);
}
}
public class SingletonTest {
public static void main(String[] args) {
Singleton.say();
}
}
运行结果:
私有构造方法
静态代码块
静态方法
结论:在main方法中,只是调用了Singleton 的静态方法,没有用到对象,但却执行了构造方法,这证明不是懒加载。