【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;
    }*/
    }

posted on 2013-08-30 14:27  潇洒kman  阅读(176)  评论(0编辑  收藏  举报