设计模式之单例模式

设计模式之单例模式

核心作用:保证一个类只有一个实例,并提供一个访问该实例的全局访问点

常见的场景有:

Windows的任务管理器

Windows的回收站

项目中读取配置文件的类,一般也只有一个对象,没必要每次都去new对象读取。

网站的计数器一般也会采用单例模式,可以保证同步

数据库连接池的设计

常见的五种单例模式的实现方式:

1、饿汉式(线程安全,调用效率高,不能延时加载)
设计模式之单例模式
2、懒汉式(线程安全,调用效率不高,可以延时加载)
设计模式之单例模式
3、DCL懒汉式(由于JVM底层内部模型原因,偶尔会出现问题,不建议使用)

设计模式之单例模式

4、饿汉式改进:静态内部类式(线程安全,调用效率高,可以延迟加载)

设计模式之单例模式

5、枚举单例(线程安全,调用效率高,不能延迟加载,反射机制不可破坏)

设计模式之单例模式