确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例类,通过使用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;
}
}```