相关文章:技术成神之路:二十三种设计模式(导航页)
在软件设计中,有时我们希望某个类的实例始终是唯一的,即无论在何处访问这个类,都能够得到同一个实例。单例模式(Singleton Pattern)就是为了解决这个问题而产生的。单例模式确保一个类只有一个实例,并提供一个全局访问点。
1.定义
单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。其主要思想是将类的构造函数私有化,并通过一个静态方法来控制实例的创建和访问。
2.常见实现方式
单例模式有多种实现方式,下面介绍几种常见的实现方式:
2.1饿汉式(Eager Initialization)
饿汉式是在类加载时就创建实例,这样可以确保线程安全,并且在类首次使用前完成实例化。
示例代码:
public class Singleton {
private static final Singleton INSTANCE = new Singleton();
private Singleton() {
// 私有构造函数,防止外部实例化
}
public static Singleton getInstance() {
return INSTANCE;
}
}
优点:简单,易于理解,线程安全
缺点:类加载时即创建实例,可能造成资源浪费
如果你一定会使用该类,这种方式无疑是最简单的方法
2.2 懒汉式(Lazy Initialization)
懒汉式是在第一次调用 getInstance() 方法时创建实例。这种方式避免了饿汉式的资源浪费问题。<