12.3每日总结
单例模式
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点以访问该实例。
单例模式包括以下几个关键要素:
1. 私有的构造函数:确保没有其他类可以直接实例化单例类。
2. 静态变量:用于保存该类的唯一实例。
3. 静态方法:用于获取该类的实例,通常命名为getInstance()。
单例模式有以下几种常见的实现方式:
1. 饿汉式:在类加载的时候就创建实例,线程安全,但可能会造成资源浪费。
2. 懒汉式:在第一次调用getInstance()方法时才创建实例,可能存在线程安全问题,需要在方法上加锁或使用双重检查锁定等方式解决。
3. 静态内部类:通过静态内部类的方式实现延迟加载,并且保证线程安全。
4. 枚举:使用枚举类型来实现单例,枚举类型的实例只能被实例化一次。
单例模式的优点包括:
- 提供了全局唯一的实例,避免了重复创建对象,节省了系统资源。
- 对于需要频繁访问的对象,可以提高性能。
然而,单例模式也存在一些缺点:
- 可能会造成资源浪费,特别是在饿汉式实现中。
- 可能会引发多线程并发访问的问题,需要特别注意线程安全性。
总的来说,单例模式适用于需要确保全局只有一个实例的场景,如配置信息、数据库连接池、日志对象等。但在使用单例模式时需要注意线程安全性和资源的合理利用。

浙公网安备 33010602011771号