设计模式之单例

Java中单例模式的定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。

单例模式要点

1.某个类只能有一个实例。

2.它必须自行创建这个实例。

3.它必须自行向整个系统提供这个实例。

 

Singleton模式一般有2种形式:

第一种饿汉式:

/**
 * 饿汉式
 */
public class Singleton {

    private static final Singleton instance = new Singleton();

    private Singleton() {}

    public static Singleton getInstance() {
        return instance;
    }

}

第二种双重锁式,也是懒汉式,是对懒汉式的升级:

/**
 * 双重锁式,是对懒汉式的性能优化
 */
public class Singleton {

    private static volatile Singleton instance = null;

    private Singleton() {}

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

}

  

 

posted on 2018-08-31 16:40  落地实验室  阅读(113)  评论(0)    收藏  举报

导航