什么是单例模式?

单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)

数学与逻辑学中,singleton定义为"有且仅有一个元素的集合"。

单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):"保证一个类仅有一个实例,并提供一个访问它的全局访问点。"

Java中单例模式定义:"一个类有且仅有一个实例,并且自行实例化向整个系统提供。"

Java单例模式例子

1public class Singleton { 2 private Singleton(){ 3 } 4 private static volatile Singleton instance = null; 5 public static Singleton getInstance() { 6 if (instance == null) { 7 synchronized(Singleton.class) { 8 if (instance == null) { 9 instance = new Singleton(); 10 } 11 } 12 } 13 return instance; 14 } 15}

单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,"阻止"所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义

相关推荐
日月云棠3 小时前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840824 小时前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide5 小时前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家5 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺5 小时前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602735 小时前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
桦说编程6 小时前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
程序员清风10 小时前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试
beata11 小时前
Java基础-13: Java反射机制详解:原理、使用与实战示例
java·后端
用户03321266636711 小时前
Java 使用 Spire.Presentation 在 PowerPoint 中添加或删除表格行与列
java