美文网首页
Java设计模式——单例模式

Java设计模式——单例模式

作者: MichaelLee826 | 来源:发表于2019-01-29 19:43 被阅读0次

单例模式有三个特点:

  1. 单例类只能有一个实例
  2. 单例类必须自己创建自己的唯一实例
  3. 单例类必须给其它对象提供这一实例

单例模式的用处:

  • 防止资源被多个请求同时调用(如打印机、通信端口等)
  • 存放配置信息,避免状态不一致

五种实现单例模式的方法:

1、饿汉式(先创建出实例):

class Singleton{
    //静态实例
    private static Singleton singleton = new Singleton();
    
    //构造函数
    private Singleton(){};
    
    public Singleton getInstance(){
        return singleton;
    }
}

2、懒汉式(需要时才创建实例):

class Singleton{
    private static Singleton singleton = null;
    
    public static synchronized Singleton getInstance(){
        if(null == singleton){
            singleton = new Singleton();
        }
        return singleton;
    }
}

3、枚举

enum Singleton{
    INSTANCE;  //枚举成员
    
    private Singleton singleton;
    
    private Singleton{
        singleton = new Singleton();
    }

    public Singleton getInstance(){
        return singleton;
    }
}

//获得实例:Singleton.INSTANCE.getInstance();

4、静态内部类:

class Singleton{
    //静态内部类
    private static calss SingletonHolder{
        private static final Singleton singleton = new Singleton();
    }
    
    //构造函数
    private Singleton(){};

    public static final Singleton getInstance(){
        return SingletonHolder.singleton;
    }
}

5、静态代码块

class Singleton{
    //静态变量
    private static Singleton singleton = null;
    
    //构造函数
    private Singleton(){};

    //静态代码块
    static{
        singleton = new Singleton();
    }

    public Singleton getInstance(){
        return singleton;
    }
}

欢迎关注我的微信公众号:


“学而有益”微信公众号

相关文章

  • JAVA设计模式 - 单例模式

    JAVA设计模式 - 单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • Java中单例模式你用的哪一种?

    一起讨论java中的单例模式。单例模式是java设计模式中算是最简单的设计模式了。 * java实现单例模式的写法...

  • JAVA设计模式之单例模式

    JAVA设计模式之单例模式

  • 设计模式

    Java 设计模式情景分析 ——单例模式 Java 设计模式情景分析——建造者模式 Java 设计模式情景分析——...

  • Java设计模式教程

    Java设计模式教程 Java工厂设计模式 Java抽象工厂模式 Java单例模式 Java建造者(Builder...

  • 设计模式——单例模式

    设计模式——单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,这种类型...

  • 设计模式

    单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式...

  • 设计模式《一》单例模式

    单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属...

  • 设计模式之单例模式详解(附源代码)

    单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属...

网友评论

      本文标题:Java设计模式——单例模式

      本文链接:https://www.haomeiwen.com/subject/othfsqtx.html