确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,
并且是自行实例化的。
饿汉模式(线性安全)
package com.lidaxia.design.pattern.creational.singleton;/*** @author lidaxia* @version 1.0* @date 2022/11/19 21:01*/
public class HungrySingleton {private static HungrySingleton hungrySingleton = new HungrySingleton();private HungrySingleton() {}public static HungrySingleton getHungrySingleton() {return hungrySingleton;}
}
懒汉模式(线性安全)
package com.lidaxia.design.pattern.creational.singleton;/*** @author lidaxia* @version 1.0* @date 2022/11/19 20:59*/
public class LazySingleton {private static LazySingleton lazySingleton;private LazySingleton() {}public static synchronized LazySingleton getLazySingleton() {if (lazySingleton == null)lazySingleton = new LazySingleton();return lazySingleton;}
}```