https://juejin.cn/post/7325069743143157801
懒加载(Lazy Loading),也称为延迟加载,是一种设计模式,通常用于延迟对象的创建或者某些计算,直到它的第一次使用或实际需要之时。在单例模式中,懒加载意味着单例实例将在第一次需要时创建,而不是在应用程序启动时。
这样做有几个好处:
在 Java 中,实现单例模式的懒加载通常有多重方式,这里举例两种常见的实现:
这是最基本的懒加载实现方式。它在类装载时不创建实例,而在需要时创建实例。
public class LazySingleton {
private static LazySingleton instance;
private LazySingleton() {
}
public static LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
该方法的缺点是它不是线程安全的。如果多个线程同时访问getInstance()
方法,可能会创建多个实例。