单例模式

单例模式(饿汉式)

public void Demo(){

private stataic final Demo instance = new Demo();

//构造方法私有化
private Demo(){
}

public static Demo getInstance(){
  return instance;
}
}

单例模式(懒汉式)

public void Demo(){

private stataic Demo instance = null  ;

//构造方法私有化
private Demo(){
}

public static Demo getInstance(){
  if(instance != null){
    instance = new Demo();
   }
return instance;
}
}

解决两种的弊端的单例模式(双锁)

public void Demo(){
 private static Demo d;
 private static Object init_click = new Object();
 //构造方法私有化
 private Demo(){

}
//双锁:解决延迟加载问题
public static Demo getInstance(){
    if(null==d){
    synchronized(init_click){
        if(d==null){
            d = new Demo();
            }
        }
    }
    return d;
 }
 

}   
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每日一画100.71:舞 一直记得一个画面,梅艳芳在一部电影里,结尾是她一个人在跳舞,但画面里是她跟她的爱人,跳着...
    费漠尘阅读 298评论 8 4
  • 我觉得自己喜欢他,但是是那种冷静到一定地步的喜欢。 冷静地思考他和我不会有未来,没必要付出太多,冷静地分析自...
    谁愿凉薄_阅读 178评论 0 0
  • jmockit 标签(空格分隔): test mock 之前试过powermock,虽然可以mock 静态方法,但...
    诸葛渔夫阅读 3,182评论 0 0