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

定义

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

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

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

单例模式结构

单例的实现

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

应用场景

  • 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
  • 控制资源的情况下,方便资源之间的互相通信。如线程池等。
相关推荐
Wang's Blog3 分钟前
Java框架快速入门: Spring Security+OAuth2之字段验证与自定义验证注解实战
java·算法·spring
CodeStats3 分钟前
【Java 类加载器】Java 类加载器完整体系深度拆解(上):从 JVM 启动到双亲委派模型
java·开发语言·jvm·classloader·双亲委派
带多刺的玫瑰8 分钟前
Leecode#29刷题之两数相除
java·python·算法
大勇前进11 分钟前
Java 线程创建的 4 种方式,优缺点对比,开发推荐写法
后端
明月_清风11 分钟前
Foundry Web3 测试框架入门:从 0 开始写 Solidity 测试
后端·web3·solidity
万少12 分钟前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
卷无止境15 分钟前
AI Agent编程中,重构节奏与安全检查的门道
后端·python
卷无止境29 分钟前
AI编程时代,代码复杂性正在悄悄失控
后端·python
EatFan35 分钟前
【实战经验】uni-app使用 SSE 踩坑,EventSource不支持怎么办?
android·后端·ios·uni-app
LuTshoes1 小时前
spring ai 实战-MCP
java·人工智能·spring