设计模式面试大全:说一下单例模式,及其应用场景?

定义

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,此模式保证某个类在运行期间,只有一个实例对外提供服务,而这个类被称为单例类。
单例模式也比较好理解,比如一个人一生当中只能有一个真实的身份证号,一个国家只有一个政 府,类似的场景都是属于单例模式。

使用单例模式要做的两件事

  1. 保证一个类只有一个实例
  2. 为该实例提供一个全局访问节点

单例模式结构

单例的实现

  • 饿汉式
  • 懒汉式
  • 双重检测
  • 静态内部类
  • 枚举方式

应用场景

  • 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
  • 控制资源的情况下,方便资源之间的互相通信。如线程池等。
相关推荐
Heo几秒前
关于Gulp,你学这些就够了
前端·javascript·面试
哈哈哈笑什么1 分钟前
多级缓存框架(Redis + Caffeine)完整指南
redis·后端
哈哈哈笑什么2 分钟前
分布式事务实战:订单服务 + 库存服务(基于本地消息表组件)
分布式·后端·rabbitmq
洞窝技术7 分钟前
Redis 4.0 升级至 5.0 实施手册
java·redis
溪饱鱼9 分钟前
NextJs + Cloudflare Worker 是出海最佳实践
前端·后端
哈哈哈笑什么10 分钟前
完整分布式事务解决方案(本地消息表 + RabbitMQ)
分布式·后端·rabbitmq
无代码专家18 分钟前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能
小周在成长24 分钟前
Java 抽象类 vs 接口:相同点与不同点
后端
expect7g24 分钟前
Paimon Branch --- 流批一体化之二
大数据·后端·flink