Java-设计模式

48 阅读1分钟

设计模式

介绍:通用问题的解决方案
分类:创建型模式,结构型模式,行为型模式

单例模式

介绍:一个类有且仅有一个实例,并且自动实例化向系统提供
分类:饿汉式,懒汉式

饿汉式

介绍:创建时进行初始化,速度快,内存占用高但是线程安全

public class Singleton {
    //1、创建类中私有构造
    private Singleton() {}
    
    //2、创建该类型的私有静态实例 --此时进行创建
    private static Singleton instance = new Singleton();
    
    //3、创建公有静态方法返回静态实例对象
    public static Singleton getInstance() {
        return instance;
    }
}

懒汉式

介绍:调用时进行初始化,速度慢,内存占用低但是线程存在风险

public class Singleton {
    //1、创建类中私有构造
    private Singleton() {}
    
    //2、创建该类型的私有静态实例
    private static Singleton instance = null;
    
    //3、创建公有静态方法返回静态实例对象 --此时进行创建
    public static Singleton getInstance() {
        if(instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}