# 测试调用方式Singleton.INSTANCE.invoke();
[内部类]
单例模式
Singleton
- static instance : Singleton
+ static getInstance() : Singleton
SingletonHolder
- static instance : Singleton
<<enumeration>>Singleton
INSTANCE
+ invoke() : void
[懒汉模式]
return SingletonHolder.instance ;
if(null != instance) return instance; synchronized (Singleton.class) { if (null == instance) { instance = new Singleton() ; } } return instance;
[双重锁模式]
[枚举模式]
[CAS模式]
return instance ;
- AtomicReference<Singleton> INSTANCE : AtomicReference- static instance : Singleton
instance = new Singleton();
if(null == instance){ instance = new Singleton();}return instance;
[饿汉模式]