概述:随着jdk的版本的发展,单例模式的写法也随之增加并逐渐完善。博主从接触java就听到单例模式,闲来无事喜欢看杂七杂八的文章,今天看到枚举单例,突发感想记录下来。总结之,目前单例模式有三种写法。
一、最原始的单例模式写法
归纳起来三个步骤,静态方法、私有构造器、静态常量
public class A {
private static final A instance = new A();
private A(){
}
public static A getInstance(){
return instance;
}
}
如此单例模式就设计出来,如果考虑到线程安全的问题, getInstance可以如下写法
public static synchronized A getInstance(){
return instance;
}
第一种写法在序列化、反序列化上会产生多个对象,如此就违背了单例思想
二、改进的单例模式写法