单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
public class MyBean {
private static MyBean instance = null;
private MyBean(){
//do something
}
public static synchronized MyBean getInstance(){
if(instance == null){
instance = new MyBean();
}
return instance;
}
}
只有一个实例确实减少内存占用,可是我认为这不是使用单例模式的理由。我认为使用单例模式的时机是当实例存在多个会引起程序逻辑错误的时候。
开销:虽然数量很少,但如果每次对象请求引用时都要检查是否存在类的实例,将仍然需要一些开销。可以通过使用静态初始化解决此问题。
public class Singleton {
//在自己内部定义自己的一个实例,只供内部调用
private static Singleton instance = new Singleton();
private Singleton(){
//do something
}
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance(){
return instance;
}
}
struts1 单例模式
分享到:
相关推荐
设计模式-Singleton与Factory
NULL 博文链接:https://linxingliang.iteye.com/blog/1217811
Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)
C#设计模式(7)-Singleton Pattern C#设计模式(6)-Abstract Factory Pattern C#设计模式(5)-Factory Method Pattern C#设计模式(4)-Simple Factory Pattern C#设计模式(3) - 设计原则(2) C#设计模式(2...
设计模式总结-模板设计模式,单例模式(singleTon)
设计模式之Singleton(单态
SingleTon.rarSingleTon.rarSingleTon.rarSingleTon.rar单例设计模式
最简单的设计模式学习Singleton模式
1.1 什么是设计模式 2 1.2 Smalltalk MVC 中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...
设计模式之Singleton(单态)
基于QT的单例设计模式开发和测试,包括:线程安全的单例生成、静态结构体数组使用和结构体指针new生成。
JAVA设计模式-day2,请的行业大能讲得课程,涉及:创建模式(5种: 1、 工厂方法模式(Factory Method); 2、 抽象工厂模式; 3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype...
设计模式精解-GoF 23 种设计模式解析附 C++实现源码 目 录 引 言 0.1 设计模式解析(总序) 0.2 设计模式解析后记 0.3 与作者联系 1 创建型模式 1.1 Factory模式 1.2 AbstactFactory模式 1.3 Singleton...
设计模式系列之01-单例模式(Singleton模式),很好的资源,理论实践结合讲述,逐步更新
delphi 单例模式 设计模式中的单例模式 与其他语言相似
李建忠面向对象设计模式视频精讲:Singleton 单件(创建型模式)
第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy。最后三章比较...
描述设计模式之Singleton 模式的应、及举例说明了在JAVA中单利模式的具体应用。
详解单例模式及C++源代码,singleton模式在软件开发中使用广泛。
1.2 Smalltalk MVC中的设计模式 1.3 描述设计模式 1.4 设计模式的编目 1.5 组织编目 1.6 设计模式怎样解决设计问题 1.7 怎样选择设计模式 1.8 怎样使用设计模式 第二章 实例研究:设计一个文档编辑器 2.1 设计问题...