package org.changchen.singleton;
public class SingletonDemo04 {
private SingletonDemo04() {
super();
}
private static class InnerSingleton {
private static final SingletonDemo04 s = new SingletonDemo04();
}
public static SingletonDemo04 getInstance(){
return InnerSingleton.s;
}
/**
* 静态内部类式
* 1.外部类没有static属性,则不会像饿汉式那样立即加载对象
* 2.只有真正调用getInstance(),才会加载静态内部类。
* 加载类时是线程安全的,s是static final 类型,保证了内存中只有这样一个实例存在
* 而且只能被赋值一次,从而保证了线程安全
* 3.兼备了并发高效调用和延迟加载的优势
*/
}
Java设计模式之单例模式(枚举式)
最新推荐文章于 2024-07-16 20:30:13 发布