为了使Singleton类变成可序列化的serializable,除了在声明中加上implements Serializable,为了维护singleton性,必须要提供一个readResolve方法,否则的话,一个序列化的实例在每次反序列化的时候,都会导致创建一个新的实例,
// readResolve method to persrve singleton property
private Object readResolve() throws ObjectStreamException{
return instance;
}
详见Effective Java Page11