一 单例模式

单例模式是最简单的模式,只是在并发的时候单例模式的懒汉模式会有线程不安全的情况

单线程  

        单例模式:懒汉模式 线程不安全

package com.wb.single;


public class Single {
    private static Single single = null;

    private Single() {

    }

    public static Single getInstance() {
        if (null == single) {
            single = new Single();
        }
        return single;
    }
}

饿汉模式:线程安全

package com.wb.single;

public class Single1 {
    private static Single1 single1 = new Single1();

    private Single1() {

    }

    public static Single1 getInstance() {
        return single1;
    }
}

安全的懒汉式:

package com.wb.single;

public class Single2 {
    private static Single2 single2 = null;

    private Single2() {

    }

    public static Single2 getInstance() {
        if (null == single2) {
            synchronized (Single2.class) {
                if (null == single2) {
                    single2 = new Single2();
                }
            }
        }
        return single2;
    }
}
努力吧,皮卡丘

猜你喜欢

转载自blog.csdn.net/yidan7063/article/details/80047155