设计模式-单例模式(singleton)

转载 2013年12月04日 14:25:10

有些时候,允许自由创建某个类的实例没有意义,还可能造成系统性能下降。如果一个类始终只能创建一个实例,则这个类被称为单例类,这种模式就被称为单例模式。
单例模式要点:一是某各类只能有一个实例;二是它必须自行创建这个事例;三是它必须自行向整个系统提供这个实例

[java] 
public class Singleton { 
     
    public static void main(String[] args) 
    { 
        //创建Singleton对象不能通过构造器,只能通过getInstance方法 
        Singleton s1 = Singleton.getInstance(); 
        Singleton s2 = Singleton.getInstance(); 
        //将输出true 
        System.out.println(s1 == s2); 
    } 
     
    //使用一个变量来缓存曾经创建的实例 
    private static Singleton instance; 
    //将构造器使用private修饰,隐藏该构造器 
    private Singleton(){ 
        System.out.println("Singleton被构造!"); 
    } 
     
    //提供一个静态方法,用于返回Singleton实例 
    //该方法可以加入自定义的控制,保证只产生一个Singleton对象 
    public static Singleton getInstance() 
    { 
        //如果instance为null,表明还不曾创建Singleton对象 
        //如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法 
        if (instance == null) 
        { 
            //创建一个Singleton对象,并将其缓存起来 
            instance = new Singleton(); 
        } 
        return instance; 
    } 

单例模式主要有如下两个优势:

1)     减少创建Java实例所带来的系统开销

2)     便于系统跟踪单个Java实例的生命周期、实例状态等。

举报

相关文章推荐

设计模式--单例模式(Singleton)

单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化对个对象,一个最好的办法就是让类自身负责保存它的唯一实例,这个类可以保...
  • jtmai
  • jtmai
  • 2011-07-05 22:51
  • 106

设计模式-单例模式(singleton pattern)

单例模式定义:确保一个类只有一个实例,并提供全局访问点.    应用场景:书中介绍有  线程池  缓存  对话框  注册表 日志 打印机驱动程序的对象等   个人在android开发中 使用到的场景是...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

设计模式之单例模式(Singleton)

单例模式(Singleton Pattern):1.定义: 确保某一个类只有一个实例,而且自动实例化并向整个系统提供这个实例2.优点: 1、在内存中只有一个实例,所以减少了内存开销,特别是在一个对...

Java设计模式----单例模式(Singleton)

1. 单例模式的概念     单例模式的意思就是一个类只有一个实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。 2. 关键点:         1) 一...

简述Java设计模式之单例模式(Singleton)

首先我们了解下什么是单例模式:单例模式就是保证了某个类只有一个实例,而且自行实例这个类并向整个系统提供这个实例,什么时候我们需要设计成单例模式呢,比如一些大的类,反复用到的类:ImageLoder ,...

23设计模式之单例模式(Singleton)

Singleton属于创建型模式中的一种,保证一个类仅有一个实例,并提供一个访问它的全局访问点。

Java设计模式之单例模式(Singleton Pattern)

Singleton Pattern单例模式:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类为单例类,它提供全局访问的方法.单例类是一种对象创建型模式.这是官方的说法,但看着还是...

(3)Java设计模式-单例模式(Singleton)

单例模式(Singleton) 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)