单例模式

  • 单例模式是什么
    单例模式就是指,一个类的实例有且仅有一个,并且要提供一个访问它的全局访问点。
  • 单例模式分为饿汉式和饱汉式
    饿汉式,就是在类加载时就创建实例。
public class Properties {
    // 类加载时创建本实例
    private static Properties instance= new Properties();
    // 禁止外部访问构造函数
    private Properties() {
    }
    // 提供类访问
    public static Properties  getInstance(){
        return this.instance;
    }
}

懒汉式,在获取实例的时候再创建实例。

public class Properties {
    // 先不创建实例
    private static Properties instance= null;
    // 禁止外部访问构造函数
    private Properties()  {
    }
    // 延迟加载对象实例
    public static Properties  getInstance() {
        if (instance == null) {
            instacne = new Properties();
        }   
        return instance;
     }
}

懒汉式在多线程环境下需要考虑线程安全问题,可以通过加同步锁的方式保证懒汉式的线程安全。

...
public static synchronized  Properties getInstance() {
...

你可能感兴趣的:(单例模式)