设计模式:单例模式。饿汉式、懒汉式
简述
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。
适用场景:需要频繁创建/销毁的对象(如线程池、缓存、日志对象)、全局配置类、共享资源访问等。
单例模式有两种常见的实现方式:懒汉式和饿汉式。
-
饿汉式(Eager Initialization):
- 在类加载时就完成了实例的初始化,因此类加载较慢,但获取实例的速度快。
- 基于类加载机制,避免了多线程的同步问题。
- 缺点:如果该实例从未被使用,则会造成内存的浪费。
-
懒汉式(Lazy Initialization):
- 在第一次调用获取实例的方法时才创建实例,因此类加载快,但第一次获取实例时稍慢。
- 需要处理多线程环境下的同步问题,确保只创建一个实例。
饿汉式
饿汉式在类加载时就创建实例,线程安全。
示例1
package creation.singleton.hungry;import java.util.Objects;/*** @copyright 2003-2025* @author qiao wei* @date 2025-08-03* @version 1.0* @brief 饿汉式单例模式。* 类加载到内存后,创建一个实例,JVM保