对单例设计模式的理解

单例设计模式,顾名思义,是指这个类里面只能有一个实例化对象,所有外部类想访问他那么都只能访问这个对象

其饿汉式设计代码如下:

class single{
    private single();
    public static final single getInstance(){
        single s =new single();
    }

其懒汉式设计代码如下;

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;
    }
}

其中single.class指的是申明了这是个对象,因为synchronized()里面要传对象(随便一个对象),

懒汉式单例设计的优点很明显,就是让多线程调用它的时候保证程序的安全性,保证一个线程进来之后不会因为挂掉而让

其多次调用实例化对象的语句,而利用两次判断可以保证程序的高效性,因为,多次调用这个类的getInstance方法,也只有第一次

 

和第二次需要进入锁中。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值