单例模式(Singleton Pattern)详解
单例模式(Singleton Pattern)详解
1. 定义与核心目标
单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供全局访问点。核心目标:
- 控制实例数量:防止重复创建对象,节省资源。
- 统一管理共享资源:如配置管理、数据库连接池、日志处理器等。
2. 实现方式及对比
(1) 饿汉式(Eager Initialization)
- 特点:类加载时立即创建实例,线程安全但可能浪费资源。
- 代码示例:
public class EagerSingleton {private static final EagerSingleton instance = new EagerSingleton();private EagerSingleton() {} // 私有构造方法public static EagerSingleton getInstance() {return instance;} }
- 优点:简单、线程安全。
- 缺点:实例在类加载时创建,即使未使用也会占用内存。
(2) 懒汉式(Lazy Initialization)
-
特点:延迟实例化,首次调用时创建对象。
-
基础版(非线程安全):
public class LazySingleton {private static LazySingleton instance;private LazySingleton()