设计模式(4)- 单例模式

单例模式

    1.定义

     保证一个类仅有一个实例,并提供一个访问它的全局访问点。

         2.示例代码

    

/*饿汉式单例模式,类加载时创建对象,线程安全*/
public class Singleton{
   //类加载时候创建实例,而且static保证创建一次
   public static Singleton instance = new Singleton();
   //私有化构造方法
   private Singleton(){
   }
   //定义一个静态方法提供实例
   public static Singleton getInstance(){
      //直接返回已经创建好的实例
      return instance;
   }
}

   

/*懒汉式单例模式,使用的时候创建实例,线程不安全*/
public class Singleton{
   private static Singleton instance = null;
   //私有化构造函数
   private Singleton(){
   }
   //提供获取实例的方法,该方法只有加上同步才是线程安全的
   public static Singleton getInstance(){
        //判断实例是否生成,如果没有就创建
        if(instance = null){
             instance = new Singleton();
        }
        return instance;
   }
}

   3.实际应用

   
     单例模式实现的方式除了上边两种外,还有通过静态内部类以及枚举类的实现方式。

单例模式本质:控制实例数目

    

猜你喜欢

转载自renhanxiang.iteye.com/blog/2406876
今日推荐