Singleton设计模式,双重检查样列如下:
public class Singleton
{
private static final Singleton singleton = null;
private Singleton()
{
}
public static Singleton getInstance()
{
if (singleton== null)
{
synchronized (Singleton.class)
{
if (singleton== null)
{
singleton= new Singleton();
}
}
}
return singleton;
}
}
简单样列1:
public class Singleton {
private final static Singleton instance=new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance;
}
}
双重检查很通用,但是它引以为傲的是性能的优化(在getInstance被很多很多次调用的情况下).
呵呵,我就直接说结论了:在性能上最优的是 简单样列1 [当然也是在getInstance被很多很多次调用的情况下].
简单样列1是非惰性加载,所以有人要反驳说 如果我不用到Singleton 的实例岂不是白占了内存.
所以你选择 简单样列1 还是 双重检查 是要根据你的实际情况的,如果在程序中对单列类引用的频率是很高的,那么应该选择 简单样列1,反之 双重检查.
分享到:
相关推荐
Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)
Singleton 设计模式
java singleton 不解释不解释不解释不解释
设计模式-Singleton与Factory
设计模式之Singleton(单态
最简单的设计模式学习Singleton模式
设计模式 t04Singleton
李建忠面向对象设计模式视频精讲:Singleton 单件(创建型模式)
C++完美实现Singleton模式
很多时候我们都会需要Singleton模式,最常见的比如我们希望整个应用程序中只有一个连接数据库的Connection实例;又比如要求一个应用程序中只存在某个用户数据结构的唯一实例。我们都可以通过应用Singleton模式达到...
java Singleton单例模式 java Singleton单例模式
设计模式总结-模板设计模式,单例模式(singleTon)
单例模式 Singleton 单例模式线程安全问题和拓展
C++设计模式课件12_Singleton_单件模式.pdf
详解单例模式及C++源代码,singleton模式在软件开发中使用广泛。
单例设计模式Singleton1
设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享...
描述设计模式之Singleton 模式的应、及举例说明了在JAVA中单利模式的具体应用。
设计模式精解-GoF 23 种设计模式解析附 C++实现源码 目 录 引 言 0.1 设计模式解析(总序) 0.2 设计模式解析后记 0.3 与作者联系 1 创建型模式 1.1 Factory模式 1.2 AbstactFactory模式 1.3 Singleton...
本资源为 "大话西游之设计模式_从猴王出世看singleton"文章的配套代码,通过该代码,可以更加清晰的了解猴王出世故事的流程及代码模拟,也能清楚的知道singleton的全部内容。 该代码在java环境开发,可以正常运行,...