一、简介
1.定义
保证一个类仅有一个实例,并提供一个获取实例的全局访问点(方法|入口)。
2.什么时候用?
顾名思义,我们需要系统中只存在一个实例对象时使用,注意如果同时实现了原型模式,可能会破坏单例。
二、Java实现
1.懒汉模式&饿汉模式
懒汉模式:只有在调用单例模式类提供的入口方法时才实例化对象(这种模式下,只要调用到了该类的静态方法,不管是不是要获取实例,这个单例对象也会被创建)
饿汉模式:未调用单例类的入口方法就已经实例化了对象,不管后面有没有用(像饿汉一样迫不及待 O(∩_∩)O哈哈~)
2.实例
假设我们有一个系统配置类对象,希望整个系统只有一个实例,下面是两种模式的简单实现(多线程中需要注意懒汉模式实现的线程安全,这里未做处理)
public class SystemConfig { private static SystemConfig ins = new SystemConfig(); private SystemConfig() { } public static SystemConfig newInstance() { return ins; } }
public class SystemConfig_Lazy { private static SystemConfig_Lazy ins = null; private SystemConfig_Lazy() { } public static SystemConfig_Lazy newInstance() { if (ins == null) { ins = new SystemConfig_Lazy(); } return ins; } }
相关推荐
Java面向对象(高级)-- 单例(Singleton)设计模式
java Singleton单例模式 java Singleton单例模式
设计模式系列之01-单例模式(Singleton模式),很好的资源,理论实践结合讲述,逐步更新
NULL 博文链接:https://linxingliang.iteye.com/blog/1217811
设计模式总结-模板设计模式,单例模式(singleTon)
简单的单例模式举例Singleton 分为恶汉式 懒汉式
3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype))、结构模式(7种:6、 适配器模式; 7、 装饰模式(Decorator); 8、 代理模式(Proxy) • 9、 外观模式(Facade); 10...
//单例模式,始终只产生一个对象 /*public class SingleTest { public static void main(String[] args) { SingleTon singleTon1=SingleTon.getInstance(); SingleTon singleTon2=SingleTon.getInstance(); ...
java设计模式,单例模式的不同实现方式
3. 单例模式(Singleton) 4 4.建造者模式(Builder) 4 5. 原型模式(Protype) 5 6.适配器模式(Adapter) 6 7.装饰模式(Decorator) 6 8.代理模式(Proxy) 7 9.外观模式(Facade) 7 10.桥接模式(Bridge) 7 ...
设计模式-Singleton与Factory
设计模式C++学习之单例模式(Singleton)
akka-cluster-singleton-example Akka Cluster - 单例使用示例
此示例展示了Qml 的单例模式(类似全局对象,只生成一次实例,可全局使用) surfsky.cnblogs.com
在Java应用中,单例对象能保证在一个...3、有些像交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了,只有使用单例模式,才能保证核心交易服务器独立控制整个流程。 CSDN代码的详细解释。
单例模式的特点有三: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,...
Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)
- 单例模式(Singleton) - 建造者模式(Builder) - 原型模式(Prototype) - 代理模式(Proxy) - 适配器模式(Adapter) - 装饰器模式(Decorator) - 桥接模式(Bridge) - 组合模式(Composite) - 外观模式(Facade) ...
单例模式 Singleton 单例模式线程安全问题和拓展
第8章 单例(singleton)模式 67 第9章 观察者(observer)模式 72 第10章 调停者(mediator)模式 85 第11章 代理(proxy)模式 97 第12章 职责链(chain of responsibility)模式 115 第13章 享元(flyweight)模式 122 第14章...