当前位置:编程学习 > JAVA >>

Java[设计模式]之美——单例模式

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在,并通过这个唯一实例来向系统提供实例行为。这样的模式有几个好处:

1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。

2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。

3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。应用场合是系统需要唯一该类的实例,比如说资源管理器等。

单例模式类图:

       \

 

下面是示例代码:


[java]
public class Singleton { 
 
    // none-lazy load  
    private static Singleton singleton = new Singleton(); 
    private Singleton(){ 
    } 
     
    public static Singleton getSingletonInstance(){ 
        return singleton; 
    } 
     
    // lazy load  
    /*private static Singleton singleton = null;
    private Singleton() {
    }
 
    public static Singleton getInstance() {
        if (singleton == null) {
            synchronized (Singleton.class) {
                if (singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }*/ 

public class Singleton {

 // none-lazy load
 private static Singleton singleton = new Singleton();
 private Singleton(){
 }
 
 public static Singleton getSingletonInstance(){
  return singleton;
 }
 
 // lazy load
 /*private static Singleton singleton = null;
    private Singleton() {
    }

    public static Singleton getInstance() {
        if (singleton == null) {
            synchronized (Singleton.class) {
                if (singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }*/
}

 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,