A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨栋 中级黑马   /  2013-8-23 10:18  /  876 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
* 单利设计模式之懒汉式:
* 1.懒汉式与饿汉式的区别在于懒汉式延时加载,用的时候再加载;
* 2.在多线程访问懒汉式的时候会痴线安全隐患,可能会创建出多个对象,解决办法就是用同步;
* 3.尽量用同步代码块,因为如果用同步函数的话每次都判断锁浪费资源,
* 所以用同步代码块,在外层加上一个s是否已经存在的判断;
* 4.同步函数用的锁是this,静态同步函数用的锁是类.class,这块要注意;
* */
class Single {
    private static Single s=null;
    private Single(){}
    public static Single getInstance()
    {
        if(s==null)//先判断对象是否存在,就避免了每次都判断锁
        {
            synchronized(Single.class)
            {
                if(s==null)
                {
                    s=new Single();
                }
            }
        }
        return s;
        
    }
   

}

1 个回复

倒序浏览
有人提出两次判断空的方法在java里面是没用的,是C++使用的方法

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马