大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java多線程單例模式

Java多線程單例模式

更新時間:2020-11-09 17:28:12 來源:動力節點 瀏覽1346次

?單例對象(Singleton)是一種常用的設計模式。在Java應用中,單例對象能保證在一個JVM中,該對象只有一個實例存在。正是由于這個特點,單例對象通常作為程序中的存放配置信息的載體,因為它能保證其他對象讀到一致的信息。對于一個軟件系統中的某些類而言,只有一個實例很重要,例如一個系統只能有一個窗口管理器或文件系統,一個系統只能有一個集市工具或ID生成器等等。本文就和大家一起探討一下在多線程環境下,單例模式的相關問題。

單例模式的定義:確保一個類只有一個實例,并提供一個全局訪問點來訪問這個唯一實例。


1. 單例對象的屬性(或成員變量)的獲取,是通過單例對象的初始化實現的。也就是說,在單例對象初始化時,會從文件或數據庫中讀取最新的配置信息。

2. 其他對象不能直接改變單例對象的屬性,單例對象屬性的變化來源于配置文件或配置數據庫數據的變化。

多線程單例模式的實現:


一、基于餓漢式單例:

實例代碼

public class Singleton {

private static Singleton instance = new Singleton();

private Singleton() {

}

public static Singleton getInstance() {

return instance;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Singleton s1, s2;

s1 = Singleton.getInstance();

s2 = Singleton.getInstance();

if(s1 == s2){

System.out.println("兩個對象是相同實例");

}

else{

System.out.println("兩個對象是不同實例");

}

}

}


二、基于懶漢式單例

實例代碼

public class Singleton {

private Singleton() {

}

//靜態內部類

private static class SingletonHandler {

private final static Singleton instance = new Singleton();

}

public static Singleton getInstance() {

return SingletonHandler.instance;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Singleton s1, s2;

s1 = Singleton.getInstance();

s2 = Singleton.getInstance();

System.out.println("兩個對象實例是否相同?");

System.out.println(s1 == s2);

}

}

三、餓漢式與懶漢式的比較:

餓漢式單例類在類加載時就將自己實例化,它的優點在于無需考慮多個線程同時訪問的問題,可以確保實例的唯一性;從調用速度和反應時間速度來講,由于單例對象一開始就得以創建,因此要優于懶漢式單例。但是無論系統在運行時是否需要使用該單例對象,由于在類加載時該對象就需要創建,因此從資源利用效率角度來講餓漢式單例不及懶漢式單例,而且在系統加載時由于需要創建餓漢式單例對象,加載時間可能會比較長。

懶漢式單例類在第一次使用時創建,無須一直占用系統資源,實現了延遲加載,但是必須要處理多個線程同時訪問的問題,特別是當單例類作為資源控制器,在實例化時必然涉及資源初始化,而資源初始化很有可能耗費大量時間,這意味著出現多線程同時首次引用此類的幾率比較大,需要通過同步化機制進行控制。


單例模式的主要優點在于提供了對唯一實例的受控訪問并可以節約系統資源;其主要缺點在于因為缺少抽象層而難以擴展,且單例類職責過重。至于我們在多線程中實際運用單例模式時采用惡漢式還是懶漢式單例類需要根據實際情況,對照上述的兩者的特征做出合適的選擇。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久热re国产手机在线观看 | 亚洲国产婷婷香蕉久久久久久 | 欧美日韩成人在线视频 | 26uuu另类亚洲欧美日本一 | 精品少妇一区二区三区视频 | 欧美色域 | 四虎免费久久影院 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 欧美人牲囗毛片 | 一色屋精品亚洲香蕉网站 | 日本中文字幕视频在线看 | 国产网站麻豆精品视频 | 欧美亚洲国产一级毛片 | 青青草国产一区二区三区 | 精品久久久久久中文字幕网 | 中文字幕中文字幕中中文 | 国产亚洲图片 | 91久久精品一区二区三区 | 婷婷国产天堂久久综合五月 | 欧美毛片xxxx | 亚洲天天做日日摸天天做 | 免费看成人播放毛片 | 亚洲区精品久久一区二区三区 | 日本一级淫片a的一级欧美 日本一级淫片a免费播放 | 日本伊人久久 | 国产精品久久久久免费视频 | 国产成人精品magnet | 香蕉18xxoo欧美夜视频 | 国产在线日韩 | 视色视频在线观看 | 欧美精品日本一级特黄 | 久久综合九色综合97婷婷女人 | 欧美成人性视频播放 | 亚洲精品第四页中文字幕 | 国产成人精品免费久久久久 | 91午夜精品亚洲一区二区三区 | 日本精品不卡 | 四虎精品永久在线 | 亚洲精品综合久久 | jzz欧美| 美女黄频视频大全免费高清 |