java設計模式 單例模式

2021-07-13 20:37:01 字數 1248 閱讀 9438

單例模式

1.餓漢式單例模式

public class singletondemo1 

//方法沒有同步,呼叫效率高!

public static singletondemo1 getinstance()

}

2.懶漢式單例模式

public class singletondemo2 

//方法同步,呼叫效率低!

public static synchronized singletondemo2 getinstance()

return instance; }

}

3.雙重檢查鎖實現單例模式(由於底層jvm原因,偶爾會有問題,不建議使用)

public class singletondemo3  

} instance = sc;

} }

} return instance;

} private singletondemo3()

}

4.靜態內部類實現單例模式

public class singletondemo4 

private singletondemo4()

//方法沒有同步,呼叫效率高!這種方式:執行緒安全,呼叫效率高,並且實現了延時載入!

public static singletondemo4 getinstance()

}

5.列舉式實現單例模式

public enum singletondemo5 		

}

6.懶漢式單例模式(如何防止反射和反序列化漏洞)

public class singletondemo6 implements serializable 	}	

//方法同步,呼叫效率低!

public static synchronized singletondemo6 getinstance()

return instance; }

//反序列化時,如果定義了readresolve()則直接返回此方法指定的物件。而不需要單獨再建立新物件!

private object readresolve() throws objectstreamexception

}

Java設計模式 單例模式

單例模式 singleton 顧名思義,就是乙個類只有乙個例項。作為物件的建立模式,單例模式確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。這個類稱為單例類。顯然單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。從具體...

java設計模式 單例模式

這個模式是很有意思,而且比較簡單,但是我還是要說因為它使用的是如此的廣泛,如此的有人緣,單例就是單 一 獨苗的意思,那什麼是獨乙份呢?你的思維是獨乙份,除此之外還有什麼不能山寨的呢?我們舉個比較難複製的物件 皇帝中國的歷史上很少出現兩個皇帝並存的時期,是有,但不多,那我們就認為皇帝是個單例模式,在這...

java設計模式 單例模式

單例模式介紹 單例模式分 懶漢式單例 餓漢式單例。單例模式有一下特點 1 單例類只能有乙個例項。2 單例類必須自己自己建立自己的唯一例項。3 單例類必須給所有其他物件提供這一例項。單例模式確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。單例有併發問題,只有乙個例項,多個執行緒就可能同...