美文网首页
创建型模式之单例模式

创建型模式之单例模式

作者: 卖女孩小火柴 | 来源:发表于2016-12-01 15:27 被阅读2次

    好久没写东西了,懒癌又犯病了。最近总有人问我单例模式是森么?那写个单例分享下

    什么是单例模式?
    有且只能存在一个对象实例的模式

    单例模式有哪几种?
    懒汉式单例、饿汉式单例、登记式单例三种

    //饿汉模式代码
    public class Singleton {
    //1.将构造方式私有化,不允许外部直接创建对象
    private Singleton() {}

    //2.声明类的唯一实例,使用private static修饰 
    private static Singleton instance  = new Singleton();
    
    //3.提供一个用于获取实例的方法,使用public static修饰
    public static Singleton getInstance() {
        return instance;
    }
    

    }

    //懒汉模式代码
    public class Singleton {
    //1.将构造方式私有化,不允许外部直接创建对象
    private Singleton() {}

    //2.声明类的唯一实例,使用private static修饰 
    private static Singleton instance;
    
    //3.提供一个用于获取实例的方法,使用public static修饰
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
    

    }

    区别:
    饿汉模式的特点是加载类时比较慢,但运行时获取对象的速度比较快,线程安全
    懒汉模式的特点是加载类时比较快,但运行时获取对象的速度比较慢,线程不安全

    相关文章

      网友评论

          本文标题:创建型模式之单例模式

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