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

定义

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

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

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

单例模式结构

单例的实现

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

应用场景

  • 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
  • 控制资源的情况下,方便资源之间的互相通信。如线程池等。
相关推荐
我要神龙摆尾43 分钟前
约定俗成的力量--java中泛型的意义和用法
java·开发语言
老友@1 小时前
分布式事务完全演进链:从单体事务到 TCC 、Saga 与最终一致性
分布式·后端·系统架构·事务·数据一致性
阿拉伯柠檬1 小时前
网络层协议IP(三)
linux·网络·网络协议·tcp/ip·面试
毅炼1 小时前
hot100打卡——day14
java·数据结构·算法·leetcode·ai·深度优先·哈希算法
C雨后彩虹1 小时前
优雅子数组
java·数据结构·算法·华为·面试
一嘴一个橘子1 小时前
springmvc 全局异常处理 and 拦截器
java
wangmengxxw1 小时前
SpringAI-mysql
java·数据库·人工智能·mysql·springai
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-数据库设计核心业务方案
java·数据库·spring boot·ddd·tdd
一嘴一个橘子1 小时前
springmvc 参数校验
java
努力学算法的蒟蒻1 小时前
day67(1.26)——leetcode面试经典150
算法·leetcode·面试