2.4 双重校验: synchroniezd同步代码块(volatile + 双重判断)
class Singleton {<br> private static volatile Singleton instance;<br><br> private Singleton() {<br> }<br><br> //提供一个静态的公有方法,加入双重检查代码,解决线程安全问题,同时解决懒加载问题<br> public static Singleton getInstance() {<br> if (instance == null) {<br> synchronized (Singleton.class) {<br> if (instance == null) {<br> instance = new Singleton();<br> }<br> }<br> }<br> return instance;<br> }<br>}