大战熟女丰满人妻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);

}

}

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

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

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


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


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: h片在线观看 | 久久久久久国产精品三级 | 亚洲加勒比久久88色综合1 | 狠狠操美女 | 亚洲人成依人成综合网 | 国产色视频在线 | 久久高清精品 | 欧美性色xo影院69 | 99视频在线观看视频一区 | 欧美理论片 | 亚洲图片一区 | 狠狠色狠狠综合久久 | 日本激情啪啪 | 欧美乱子伦一区二区三区 | 国产成人香蕉在线视频fuz | 久久天天躁狠狠躁夜夜爽 | 中文字幕曰韩一区二区不卡 | 天堂va亚洲va欧美va国产 | 亚洲精品一区二区久久 | 免费看羞羞视频的网站 | 伊人久久精品一区二区三区 | 久久精品系列 | 日韩中文字幕推理片 | 在线综合视频 | 操综合网 | 亚洲 欧美 综合 | 国产精品久久久久久久久久久久 | 国产福利网站 | 日韩欧美在线中文字幕 | 精品亚洲欧美中文字幕在线看 | 国产成人久久一区二区三区 | 国产亚洲片 | 欧美中文字幕在线播放 | 免费观看大片bbb | 欧美日韩高清在线观看一区二区 | 精品久久久久久 | 日本中文在线播放 | 久久福利一区二区三区 | 久久久久久久久a免费 | 人喾交性专区免费看 | 国产精品免费一级在线观看 |