前言
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
饿汉单例
是否多线程安全:是
是否懒加载:否
正如名字含义,饿汉需要直接创建实例。
public class EhSingleton {
private static EhSingleton ehSingleton = new EhSingleton();
private EhSingleton() {}
public static EhSingleton getInstance(){
return ehSingleton;
}
}
缺点: 类加载就初始化,浪费内存
优点: 没有加锁,执行效率高。还是线程安全的实例。
懒汉单例
懒汉单例,在类初始化不会创建实例,只有被调用时才会创建实例。
非线程安全的懒汉单例
是否多线程安全:否
是否懒加载: 是
public class LazySingleton {
private static LazySingleton ehSingleton;
private