国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

單例模式--確保一個類只有一個實例,并提供一個全局訪問點。

2019-11-11 06:52:22
字體:
來源:轉載
供稿:網友

一、定義:單件模式--確保一個類只有一個實例,并提供一個全局訪問點。

二、方式:

1.懶漢式

/** *  * @author Kevintan * 經典的單件模式的實現,懶漢式 * synchronized 處理多線程的同步問題。 * 缺點:降低了性能,不利于程序頻繁的調用 * 適用場景:性能對應用程序不是很關鍵。 */public class Singleton1 {	PRivate static Singleton1 uniqueInstance ;		private Singleton1() {}		public static synchronized Singleton1 getInstance(){		if (uniqueInstance ==  null) {			uniqueInstance = new Singleton1();		}		return uniqueInstance;	}	}2.餓漢式

/** *  * @author Kevintan * 急切實例化,餓漢式 * 適用于:應用程序總是創建并使用單件實例或創建和運行時的負擔不太繁重。 * 缺點:不能用于頻繁創建或使用或耗費內存過大的程序中。 */public class Singleton2 {	private static Singleton2 uniqueInstance = new Singleton2();		private Singleton2() {}		public static Singleton2 getInstance(){		if (uniqueInstance ==  null) {			uniqueInstance = new Singleton2();		}		return uniqueInstance;	}	}3.雙重檢索加鎖

/** *  * @author Kevintan *雙重檢索加鎖 *原理:首先檢查是否實例已經創建了,如果尚未創建,“才”進行同步。 *這樣一來,只有第一次創建實例時會同步。 *優點及適用于:幫助你大大減少時間耗費,提高性能 */public class Singleton3 {	private static volatile Singleton3 uniqueInstance ;		private Singleton3() {}		public static synchronized Singleton3 getInstance(){		if (uniqueInstance ==  null) {			synchronized (Singleton3.class) {				if (uniqueInstance ==  null) {					uniqueInstance = new Singleton3();				}			}		}		return uniqueInstance;	}	}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴忠市| 囊谦县| 长沙县| 剑川县| 宁夏| 米泉市| 武隆县| 蓬莱市| 错那县| 布尔津县| 邓州市| 凭祥市| 龙州县| 宁津县| 广德县| 夏津县| 宜川县| 翁源县| 武平县| 宝坻区| 年辖:市辖区| 沐川县| 绥宁县| 化隆| 嘉定区| 稻城县| 景谷| 漠河县| 监利县| 土默特左旗| 临夏市| 禄丰县| 青冈县| 辉南县| 苗栗县| 建昌县| 晋江市| 鄂托克前旗| 上犹县| 商城县| 德保县|