Hello,大家好!我是你们的老朋友小米,今天又来给大家分享技术啦!这次我们来聊一聊在开发中经常会遇到的设计模式——单例模式。
单例模式是设计模式中的一种,它的主要作用是确保某个类在内存中只有一个实例存在。想象一下,假如我们正在设计一个系统,某些对象比如数据库连接或者日志系统需要共享同一个资源,那么单例模式就是理想的选择!
什么是单例模式?
单例模式(Singleton Pattern)的核心思想就是“一个类只有一个实例,并且自行向整个系统提供这个实例。”这个实例一般是通过该类自己创建的。
单例模式的特点:
- 确保某个类只有一个实例。
- 提供一个全局访问点来访问这个实例。
使用场景:
需要频繁实例化和销毁的对象。比如:多线程的线程池、数据库连接池。
耗费资源过多的对象。比如:文件管理器、日志处理器。
工具类对象。比如:配置文件读取类、全局配置管理类。
全局状态类。比如:系统中状态信息的管理类。
单例模式的实现方式
Java 中实现单例模式有几种经典方式,接下来我会依次给大家讲解,并且手写这些实现。Let's Go!
饿汉式(线程安全)
这种方式是最简单的一种单例实现方式。它的特点是实例在类加载的时候就被创建好,不管你是否需要它,类加载的时候它就已经在内存中准备好了。