创建型设计模式---JAVA Singleton模式(单身模式)

原创 2007年09月20日 09:48:00

Java Singleton 模式(单身模式,单态模式)是一种创建型设计模式。用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。在 web 程序中我们会用一个核心的分配功能的Servlet程序,在这里我们就可以运用这种设计模式了。
一般Singleton模式通常有几种种形式:
第一种形式:
定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton { 
    
private
 Singleton(){} 

    
//
    在自己内部定义自己一个实例,是不是很奇怪? 
    
//    注意这是private 只供内部调用 

    private static Singleton instance = new Singleton(); 

    
//    这里提供了一个供外部访问本class的静态方法,可以直接访问 

    public static Singleton getInstance() { 
        
return
 instance; 
    } 

 
第二种形式:

public class Singleton{
    
private static Singleton instance=null
;
    
public static
 Singleton getInstance(){
        
//
这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 
        
//使用时生成实例,提高了效率! 

        if(instance==null)
            instance
=new
 Singleton();
        
return
 instance;
    }
}

其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

JAVA设计模式(3) —<创建型>单例模式(Singleton)

1 定义: 单例模式 Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类...

JAVA设计模式(03):创建型-单例模式(Singleton)

3.1 单例模式的动机       对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Window...

JAVA设计模式(03):创建型-单例模式(Singleton)

定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 类型:创建类模式 常见应用场景: windows的Task Manager(任务管理器)就是很典型的单例模式 windows的R...

Java设计模式透析之 —— 单例(Singleton)

写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助你分析数据。但是Java原生带有的System.out.println()方法却很少在真正的项目开发中使用,甚至像f...

Java 单例 (Singleton)设计模式

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构...

Java设计模式之单例(Singleton)

单例设计模式

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

最近在csdn和github上面发现了几篇比较好的设计模式文章,于是打算把所有的23种设计模式都整理下来,以方便以后再次复习,同时将知识分享给朋友们共同进步,本文转载自http://blog.csdn...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:创建型设计模式---JAVA Singleton模式(单身模式)
举报原因:
原因补充:

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