在java中,單例設計模式是非常常見的設計模式,對單例設計模式的概念,不做過多的介紹,下面将逐一介紹四種單例設計模式:
1、第一種單例設計模式
1.1 代碼實作
1.2 相關測試
2、第二種單例
2.1 代碼實作
2.2 相關測試
3、内部類實作單例
3.1 代碼實作
3.2 相關測試
4、枚舉實作單例
4.1 代碼實作
4.2 相關測試
5、四種單例效率測試
6、總結
第一種單例:不具備懶加載的功效;
第二種單例:懶加載、如果分為線程安全和非線程安全兩種,當使用線程安全同步時,會影響效率。
第三種單例:懶加載、且适合多線程,效率很高;但是可以通過java反射來執行個體化多個執行個體,是以在一般情況下,該方式實作比較好;
第四種單例:必須在jdk5.0以上才具備的,未實作懶加載,多線程友好,并且無法通過java反射來執行個體化多個執行個體。
在一般情況下,建議使用第三種和第四種方式。