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

定义

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

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

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

单例模式结构

单例的实现

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

应用场景

  • 资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。
  • 控制资源的情况下,方便资源之间的互相通信。如线程池等。
相关推荐
代码不停7 分钟前
子序列问题
java·算法
计算机学姐14 分钟前
基于SpringBoot的高校爱心慈善管理系统
java·vue.js·spring boot·后端·spring·tomcat·mybatis
vx+_bysj686927 分钟前
springboot 旅行小程序97353
spring boot·后端·小程序·旅行小程序
大梦想家a28 分钟前
基于Servlet+JSP的小区物业管理系统设计与实现(Bootstrap+MySQL)
java·servlet·bootstrap
山岚的运维笔记30 分钟前
mysql 专业笔记 -- 第 14 章:GROUP BY
运维·数据库·笔记·后端·学习·mysql·dba
都叫我大帅哥38 分钟前
Apache Tika 4.0 正式发布:RAG 时代文件解析的终极答案
java·spring boot·spring
凤城老人42 分钟前
基于 Flask 的企业级 CMS 架构设计与实现
后端·python·flask
ZYJCSZKJ3 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
mldong8 小时前
引擎从不发一条消息:jeeflow 的两类扩展点与消息模块的分工
java·架构
君顾19 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售