单例模式的应用
本文中总结了几种常见的单例模,本文讨论的所有单例都是在同一个JVM中保证一个类只有一个实例,如果在分布式环境中不再本文的讨论范围之内。
方式一:使用全局访问点取得单实例
?
public enum SingleTest {INSTANCE;String instanceName = null;public String getInstanceName() {return instanceName;}public void setInstanceName(String instanceName) {this.instanceName = instanceName;}public void leaveTheBuilding(){}}?补充一点使用非枚举的方式创建单例时为了使Singleton类变成是可序列化的仅仅在类的申明中加上implements Serializable是不够的,为了维护并保证Singleton,必须申明所有实例域都是瞬时的(transient),并提供一个readResolve()方法,否则在每次反序列化的时候都会创建一个实例。这是在具体应用中需要注意的。