20、設計模式之單例模式-餓漢式
阿新 • • 發佈:2018-12-16
import java.io.Serializable; /** * 餓漢式-單例模式 * 實現Serializable介面,使其支援序列化與反序列化 */ public class HungrySingleton implements Serializable { private final static HungrySingleton instance; static { instance = new HungrySingleton(); } private HungrySingleton(){ // 阻止反射攻擊 if(instance!=null){ throw new RuntimeException("單例模式構造器禁止被反射呼叫"); } } public static HungrySingleton getInstance(){ return instance; } /** * 該方法解決反序列化後新物件與原物件記憶體地址不一致的問題 * @return */ private Object readResolve(){ return instance; } }