23种设计模式学习之单例模式

Posted 我_会飞的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式学习之单例模式相关的知识,希望对你有一定的参考价值。

用内部类来维护单例的实现

public class Singleton {
  //私有构造方法,防止被实例化 private Singleton(){}
  //用一个内部类来维护单例 private static class SingletonFactory{ private static Singleton singleton=new Singleton(); }
  //获取实例 public static Singleton getInstance(){ return SingletonFactory.singleton; } }

 使用锁实现单例

public class Singleton {
    private static Singleton singleton=null;
    private Singleton(){}
    private static synchronized void syncInit() {
        if (singleton == null) {
            singleton = new Singleton();
        }
    }
    public static Singleton getInstance(){
        if (singleton == null){
            syncInit();
        }
        return singleton;
    }
}

 

以上是关于23种设计模式学习之单例模式的主要内容,如果未能解决你的问题,请参考以下文章

spring源码学习之设计模式单例模式

设计模式学习之单例模式

23种设计模式学习之桥接模式

Java学习之单例模式

23种设计模式学习之享元模式

Python学习之八设计模式和异常