码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-01-06 18:04:24      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:log   单例模式   bsp   私有   一个   class   factory   nfa   ini   

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

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种设计模式学习之单例模式

标签:log   单例模式   bsp   私有   一个   class   factory   nfa   ini   

原文地址:https://www.cnblogs.com/2nao/p/8214657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!