当前位置: 首页 > news >正文

创建型设计模式之Singleton(单例)设计模式

创建型设计模式之Singleton(单例)设计模式

摘要:
Singleton(单例)设计模式确保一个类仅有一个实例,并提供全局访问点。其结构包含一个静态方法getInstance()用于获取唯一实例,构造方法私有化防止外部实例化。适用于需要控制实例数量(如配置管理、线程池等)或需通过子类扩展但客户端无需修改代码的场景。示例代码展示了通过静态变量实现线程安全的单例模式,多次调用getInstance()返回同一实例,验证了唯一性。

1)意图:

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

2)结构
在这里插入图片描述
其中:Singleton指定一个Instance操作,允许客户访问它的唯一实例,Instance是一个类

操作:可能负责创建它自己的唯一实例。

3)适用性

Singleton 模式适用于:

  • 当类只能有一个实例并且客户可以从一个众所周知的访问点访问它时。
  • 当这个唯一实例应该是通过子类可扩展的,并且客户无法更改代码就能使用一个扩展的实例时。

代码

public class SingletonPattern {public static void main(String[] args) {Singleton instance1 = Singleton.getInstance();Singleton instance2 = Singleton.getInstance();Singleton instance3 = Singleton.getInstance();Singleton instance4 = Singleton.getInstance();System.out.println("instance1 = " + instance1);System.out.println("instance2 = " + instance2);System.out.println("instance3 = " + instance3);System.out.println("instance4 = " + instance4);}
}class Singleton{private static final Singleton instance = new Singleton();private Singleton(){}public static Singleton getInstance(){return instance;}
}

相关文章:

  • SMME 2025:创新海洋工程模式,迎接未来挑战
  • Android Compose开发架构选择指南:单Activity vs 多Activity
  • 银河麒麟V10通过制作rpm包升级httpd、php软件修复漏洞
  • Python 训练营打卡 Day 38
  • 浅谈国企数字化转型
  • Jenkins-Pipeline:学习笔记
  • 什么是软件的生命周期,以及常见的开发测试模型
  • 电脑软件管家 免安装便携 四十多种功能系统优化”“磁盘清理”“隐私保护
  • 【行动指南】大一如何高效备考java
  • 密钥管理系统在存储加密场景中的深度实践:以TDE透明加密守护文件服务器安全
  • 十六进制数据转换为对应的字符串
  • 2025.5.23 【ZR NOI模拟赛 T3】高速公路 题解(容斥,高维前缀和,性质)
  • 精准耐用的工业流量管家 格恩朗金属管浮子流量计
  • MySQL OCP 与 Oracle OCP 认证,怎么选?
  • 生物化学:药品药物 营养和补充剂信息 第三方认证信息 常见误区 汇总
  • 零滑点期货跟单软件在小恒指交易中的作用。
  • 【PhysUnits】15 类型整数基本结构体补充P1(basic.rs)
  • 【第2章 绘制】2.13 坐标变换
  • HA-820A程控高压放大器详解
  • vue2指令方式防抖功能
  • 学生想搭建网站怎么做/网站建设开发外包公司
  • 公司网站手机版模板下载/福州短视频seo机会
  • 企业网站建设立项报告/中国十大企业管理培训机构
  • 青岛建设官方网站/正规微商免费推广软件
  • 阿里巴巴怎么做自己的免费网站/淘宝指数查询入口
  • 玉溪做网站公司/成人电脑速成培训班