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

设计模式--单例模式(学习笔记)

时间:2014-06-05 10:14:01      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:c   class   blog   code   java   a   

定义:

     单例模式:保证一个类只有一个实例,并且提供一个访问它的全局访问点。(《大话设计模式定义》);

    单例模式分为两种:

       1>饿汉式单例类:自己被加载时就将自己实例化。

         例子:

    
  private SingleExample() {
      
    }
private static  SingleExample singleExample=new SingleExample();
    @Override
    protected SingleExample getInstances() {
        return singleExample;
    }


       2>懒汉式单例类:在第一次被引用时,才将自己实例化。

     例子:

  private SingleExample() {
     
    }

    private static SingleExample singleExample = null;
   
    protected static SingleExample getInstances() {
        if (singleExample == null) {
            synchronized (SingleExample.class) {
                if (singleExample == null) {
                    singleExample = new SingleExample();
                 
                }
            }
        }
        return singleExample;
    }

加同步块synchronized 是为了确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码区块,则它将一直处于等待状态,知道该对象被释放。

设计模式--单例模式(学习笔记),布布扣,bubuko.com

设计模式--单例模式(学习笔记)

标签:c   class   blog   code   java   a   

原文地址:http://blog.csdn.net/zouchengxufei/article/details/27486139

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