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

定义

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

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

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

单例模式结构

单例的实现

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

应用场景

  • 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
  • 控制资源的情况下,方便资源之间的互相通信。如线程池等。
相关推荐
Yyyyyy~5 小时前
【java】数组的定义和使用
java
麻辣布丁5 小时前
java集合篇面试模拟
java·开发语言·面试
niucloud-admin5 小时前
JAVA V6 多商户商城 开发文档——插件开发规范
java·开发语言
嘟哩DuliDuli5 小时前
创作 Agent 的任务状态该如何保存
android·java·javascript
善良勤劳勇敢而又聪明的老杨5 小时前
【AI编程系列】MCP 常用设计模式解读
设计模式·ai编程
wdfk_prog5 小时前
lely-canopen-rtt:为什么推荐在 RT-Thread 上使用 Lely CANopen 构建主站
java·运维·缓存·docker·容器
海盗12345 小时前
DSH 接入 OpenCode Go 报 400 MissingSessionID:从 LLM 语义层退到 fetch 传输层的完整排障
开发语言·后端·golang
Token掘金室5 小时前
JSON模式结构化输出报错
java·服务器·json
秋饼5 小时前
Spring AI 2.0 接入 DeepSeek V4.1 Flash 生产级实战
java·ai·技术分享·后端开发
IT枫斗者枫哥5 小时前
Java 分批导出仍然 OOM?用 32 MiB 堆复现三种 CSV 写法
java