单例模式

57 阅读1分钟

1、单例模式的定义

单例模式就是某个类在系统中只有一个实例

2、单例模式的实现要点

构造函数设置成私有,并提供一个获取实例的静态方法

3、应用场景

共享访问点的情况,比如共用日志文件、共用配置文件

创建需要耗费大量资源的情况,比如数据库连接池或线程池

4、实现举例

懒汉模式

public class LazySingleton {
    private static LazySingleton SINGLETON;

    private LazySingleton(){
    }

    synchronized public static LazySingleton getSingleton(){
        if(SINGLETON == null){
            SINGLETON = new LazySingleton();
        }
        return SINGLETON;
    }
}

饿汉模式

public class HungrySingleton {
    private static final HungrySingleton SINGLETON = new HungrySingleton();

    private HungrySingleton(){
    }

    public static HungrySingleton getSingleton(){
        return SINGLETON;
    }
}