单例模式是最简单的模式,只是在并发的时候单例模式的懒汉模式会有线程不安全的情况
单线程
单例模式:懒汉模式 线程不安全
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; } }努力吧,皮卡丘