国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

設計模式——單件模式

testHs / 1829人閱讀

摘要:簡介單件模式也叫單例模式,是一種創建型模式。類圖中類變量持有唯一的單件實例,是靜態方法,可以通過類名在任何需要的地方使用它,與訪問全局變量一樣,但是可以延遲實例化。

1. 簡介

??單件模式(Singleton)也叫單例模式,是一種創建型模式。它確保一個類只有一個實例,并提供全局訪問。

2. UML類圖

??Singleton中uniqueInstance類變量持有唯一的單件實例,getInstance()是靜態方法,可以通過類名在任何需要的地方使用它,與訪問全局變量一樣,但是可以延遲實例化。

3. 實例

餓漢式:類加載就初始化實例,達到了線程安全的效果,但是在不需要的時候就實例化可能會造成資源浪費。

public class Singleton {
    
    private static Singleton instance = new Singleton();
    
    private Singletone() {}
    
    public static Singleton getInstance() {
        return instance;
    }

}

懶漢式:在需要的時候再初始化實例,線程不安全

public class Singleton {

    private static Singleton instance;
    
    private Singleton() {}
    
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

懶漢式(同步方法):在需要的時候再初始化實例,線程安全,效率低下

public class Singleton {
    
    private static Singleton instance;
    
    private Singleton() {}
    
    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

雙重檢查:在需要的時候再初始化實例,線程安全,效率較高

public class Singleton {
    
    private static Singleton instance;
    
    private Singleton() {};
    
    public static Singleton getInstance() {
        if (instance == null) {
            synchronized(Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76534.html

相關文章

  • 開發之路(設計模式五:單件模式

    摘要:單件模式提供這個實例的全局訪問點。實現單件模式,需要私有構造器,一個靜態方法,一個靜態變量。設計到多線程問題,同步會降低程序效率。 擁有獨立且唯一的對象 這次講述的是單件模式,就是整個內容里只有一個實例化唯一對象。這么說可能有點拗口,這么說吧,比方說,線程池,緩存,注冊表,日志文件,甚至做JDBC中連接,關閉,增刪改查數據庫的Connection類(個人命名也許并不一樣)、工具類等等...

    Steven 評論0 收藏0
  • 夕陽下, 那是我在奔跑——單件模式

    摘要:急切的創建對象餓漢式以上爲餓漢式單列設計,該設計是線程安全的,即不同的線程在調用時返回的是統一對象,在加載這個類時,馬上創建了這個類的唯一單列實列。 單件模式(JAVA實現) 定義 單件模式: 確保一個類只有一個實列, 並提供一個全局訪問點 單件模式和全局變量的區別 若將對象賦值給一個全局變量, 則該對象需在程序開始時就創建好, 而改對象可能不會使用, 造成資源浪費, 而單件模式支持...

    lieeps 評論0 收藏0
  • 常見設計模式的定義,應用場景和方法

    摘要:命令模式的由來,其實是回調函數的一個面向對象的替代品,命令模式早已融入到了語言之中。 模式是對某情景下,針對某種問題的某種解決方案。而一個設計模式是用來解決一個經常出現的設計問題的經驗方法。這么說來,每個模式都可能有著自己的意圖,應用場景,使用方法和使用后果。本文的行文思路和目的皆在于了解各個模式的定義,應用場景和用實例說明如何在前端開發中使用。 本文所設計到的概念和實例大多來自《H...

    xuxueli 評論0 收藏0

發表評論

0條評論

testHs

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<