二十三中设计模式之:单例模式

Posted vbvb520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二十三中设计模式之:单例模式相关的知识,希望对你有一定的参考价值。

单例模式通常用于保证系统中一个类只有一个单例。

单例模式分为三种:懒汉式、饿汉式、双重锁模式

例1:懒汉式

public class Singleton{

  //1.构造方法私有化

  private Singleton(){

  }

    //2.声明私有化实例

  private static Singleton singleton = null;

  //3.提供对外的公开的方法

  public  static Singleton getSingleton(){

    if(singleton==null){

      singleton = new Singleton();

      //return singleton;

    }

    return singleton;

  }

}

例2:饿汉式

  public class Singleton{

    //1.构造方法私有化

    priavte Singleton(){

    }

    //2.声明类的实例

    private static Singleton singleton = new Singleton();

    //3.创建公开的方法

    public static Singleton getSingleton(){

      return singleton;

    }    

  }

例3:双重锁模式

  public class Singleton {

    //1.构造方法私有化

    private Singleton(){

    }

    //2.声明类的实例

    private static Singleton singleton = null;

    //3.创建公开的方法

    public static Singleton getSingleton(){

      synchronized(Singleton.class){

        if(singleton==null){

          singleton = new Singleton();

        }

      }

    return singleton;

    }

  }

以上是关于二十三中设计模式之:单例模式的主要内容,如果未能解决你的问题,请参考以下文章

二十八python中的单例模式

二十四种设计模式:单例模式(Singleton Pattern)

二十三种设计模式(GOF23)详解1----单例模式(Singleton Pattern)

Java学习笔记(二十四):单例设计模式singleton

C++从青铜到王者第二十七篇:特殊类设计

JAVA学习第二十五课(多线程)- 单例设计模式涉及的多线程问题