设计模式面试大全:说一下单例模式,及其应用场景?
定义
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,此模式保证某个类在运行期间,只有一个实例对外提供服务,而这个类被称为单例类。
单例模式也比较好理解,比如一个人一生当中只能有一个真实的身份证号,一个国家只有一个政 府,类似的场景都是属于单例模式。
使用单例模式要做的两件事
- 保证一个类只有一个实例
- 为该实例提供一个全局访问节点
单例模式结构
单例的实现
- 饿汉式
- 懒汉式
- 双重检测
- 静态内部类
- 枚举方式
应用场景
- 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
- 控制资源的情况下,方便资源之间的互相通信。如线程池等。