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

单例模式

时间:2016-07-12 13:55:17      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

饿汉式

  特点:直接创建静态对象

   

/**
 * 饿汉,直接new对象
 */
class SingleEHan{
    private  static final SingleEHan s = new SingleEHan();

    private SingleEHan(){

    }

    public static  SingleEHan getInstance(){
        return s;
    }
}

 

懒汉式

  特点:延迟加载,可能存在线程安全问题

  措施:使用同步,为提高判断锁状态的效率,可以使用双重判断

/**
 * 懒汉式双重判断单例模式
 * 特点:延迟加载
 */
public class Single {
    private static Single s = null;

    private Single() {

    }

    public static Single getInstance() {
        if (s == null) {

            synchronized (Single.class) {
                if (s == null) {
                    return s = new Single();
                }
            }
        }
        return s;
    }


}

 

单例模式

标签:

原文地址:http://www.cnblogs.com/binfoo/p/5663050.html

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