枚举单例懒加载

来源:13-14 单例模式4

精慕门8059907

2021-12-04

请问如何可以证明枚举单例是懒加载呢?我测试了一下,而且通过自定义枚举类,枚举本质就是饿汉式吧:
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 的静态方法,没有用到对象,但却执行了构造方法,这证明不是懒加载。

写回答

1回答

悟空

2021-12-04

你说得对,枚举类会在类加载的时候,把枚举对象给实例化

0
0

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程