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

定义

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

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

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

单例模式结构

单例的实现

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

应用场景

  • 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
  • 控制资源的情况下,方便资源之间的互相通信。如线程池等。
相关推荐
像少年啦飞驰点、3 分钟前
零基础入门 Redis:从“缓存是什么”到手写一个简易购物车系统
java·spring boot·redis·缓存·编程入门·小白教程
短剑重铸之日6 分钟前
《SpringCloud实用版》完整技术选型地图
java·后端·spring·spring cloud
像素猎人13 分钟前
力扣:面试题16.01.交换数字
c++·算法·leetcode·面试
咚为27 分钟前
Rust 错误处理的工程化演进:从 Result 到系统级边界设计
开发语言·后端·rust
南山乐只27 分钟前
Qwen Code + OpenSpec 实战指南:AI 驱动开发的从安装到落地
java·人工智能·后端
有味道的男人28 分钟前
如何使用招标网API获取项目详情?
java·服务器·前端
代码写到35岁1 小时前
【Java 单体架构改造 微服务 网关遇坑之 跨域配置】
java·微服务·架构
qq_12498707531 小时前
基于Java的心理测试系统的设计与实现(源码+论文+部署+安装)
java·开发语言·vue.js·spring boot·计算机毕设·计算机毕业设计
拽着尾巴的鱼儿1 小时前
Spring定时任务 Scheduled使用
java·后端·spring
学嵌入式的小杨同学1 小时前
【嵌入式 C 语言高频考点】周测 + 期中真题解析:从基础语法到编程实战
c语言·数据结构·数据库·vscode·算法·面试