Re单例模式-懒汉饿汉

单例设计模式:解决一个类在内存中只存放一个对象。

---------------------对象在内存中的唯一性-------------------

1. 为了避免其它程序过多建立该类对象。先禁止其它程序建立该类对象;

2. 还为了让其它程序可以访问到该类对象,只好在本类中自定义一个对象;

3. 为了方便其他程序对自定义对象的访问,可以提供一些访问方式。

怎么用代码体现呢?

1. 将构造函数私有化;

2. 在类中创建一个本类对象;

3. 提供一个方法可以获取到该对象。

对于事物该怎么描述,就怎么描述

当需要将该事物的对象保证在内存中唯一时,就将以上三步相加即可。

class Demo
{
            private Demo(){}
            private static d = new Demo();
            public static Demo getInstance()
            {
                  return d;
            }        
}
//单例设计模式: 先初始化对象: 称为:饿汉式

//对象的延迟加载,称为懒汉式。 会涉及到多线程的安全问题,需要上锁
class Demo
{
      private Demo(){}
      private static Demo d = null;
      public static Demo getInstance()
      {
            if(d==null)
            {
                  synchronized( Demo.class )
                 {
                       if(d==null)
                       {
                         d = new Demo();
                       }
                  }
             }
            return d;
       }
}

猜你喜欢

转载自www.cnblogs.com/zxl1010/p/11368188.html