单例模式:从饿汉模式到懒汉模式的实现与优化
单例模式是一种设计模式,用于确保一个类只能创建一个实例。饿汉模式是一种常见的单例模式实现方式,它在类加载时就创建了实例,并且保证了在整个应用程序中只有一个实例。
懒汉模式是另一种单例模式的实现方式,它延迟了实例的创建,即在需要使用实例时才进行创建。下面是将饿汉模式转为懒汉模式的示例代码:
public class Singleton {
private static Singleton instance;
private Singleton() {
// 私有化构造方法
}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
在懒汉模式中,getInstance() 方法通过加锁实现了线程安全,保证了在多线程环境下只创建一个实例。需要注意的是,由于加锁可能带来性能问题,因此懒汉模式的效率可能较低。如果对性能要求较高,可以使用双重检查锁定(double-checked locking)或者静态内部类的方式来实现懒汉模式。
原文地址: https://www.cveoy.top/t/topic/pdob 著作权归作者所有。请勿转载和采集!