单例模式懒汉式写法,单例模式的优化有如下四个方面:java
代码实现安全
import java.io.Serializable; public class Singleton implements Serializable { //加上volatile关键字保证变量的一致性 private volatile static Singleton singleton = null; private Singleton() { if (singleton != null) { throw new RuntimeException("此类为单例模式,已经被实例化"); } } public static Singleton getInstance() { //外层判断是防止已经new过了 if (singleton == null) { //加上synchronized关键字,保证线程安全 synchronized (Singleton.class) { if (singleton == null) { singleton = new Singleton(); } } } return singleton; } }