天天看點

java中的四種單例實作方式

    在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反射來執行個體化多個執行個體。

    在一般情況下,建議使用第三種和第四種方式。