设计模式

2020-02-27  本文已影响0人  我问你瓜保熟吗
创意人物

一、单例模式

public class Singleton01 {

    // 1、构造器私有化
    private Singleton01() { }

    // 2、类初始化的时候,立即加载该对象
    private static Singleton01 instance = new Singleton01();

    // 3、提供获取该对象的方法,没有synchronized,效率高!
    public static  Singleton01 getInstance() {
        return instance;
    }
}

// 测试
class Single01Test{
    public static void main(String[] args) {
        Singleton01 instance1 = Singleton01.getInstance();
        Singleton01 instance2 = Singleton01.getInstance();

        System.out.println(instance1==instance2);
    }
}
public class Singleton02 {

    // 1、构造器私有化
    private Singleton02() { }

    // 2、类初始化的时候,不立即加载该对象
    private static Singleton02 instance;

    // 3、提供获取该对象的方法,有synchronized,效率较低!
    public static synchronized Singleton02 getInstance() {
        if (instance == null) {
            instance = new Singleton02();
        }
        return instance;
    }
}

// 测试
class Single02Test{
    public static void main(String[] args) {
        Singleton02 instance1 = Singleton02.getInstance();
        Singleton02 instance2 = Singleton02.getInstance();

        System.out.println(instance1==instance2);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读