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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

設(shè)計模式一:單例模式

2019-11-09 15:41:05
字體:
供稿:網(wǎng)友

單例模式有以下特點: 1、單例類只能有一個實例。 2、單例類必須自己創(chuàng)建自己的唯一實例。 3、單例類必須給所有其他對象提供這一實例。

四點要求:唯一實例,多線程并發(fā)訪問,效率性能,懶加載(Lazy Load,在需要的時候才被構(gòu)造) 1、懶漢模式,線程不安全

public class SingletonKerriganA { /** * 單例對象實例 */ PRivate static SingletonKerriganA instance = null; public static SingletonKerriganA getInstance() { if (instance == null) { instance = new SingletonKerriganA(); } return instance; }}

2、懶漢模式,線程安全,但是效率低

public class SingletonKerriganB { /** * 單例對象實例 */ private static SingletonKerriganB instance = null; public synchronized static SingletonKerriganB getInstance() { if (instance == null) { instance = new SingletonKerriganB(); } return instance; }}

3、餓漢模式

public class SingletonKerriganE { /** * 單例對象實例 */ private static SingletonKerriganE instance = new SingletonKerriganE(); public static SingletonKerriganE getInstance() { return instance; }}

4、靜態(tài)內(nèi)部類。懶漢模式,線程安全,性能好,應(yīng)用多。

public class SingletonKerriganF { private static class SingletonHolder { /** * 單例對象實例 */ static final SingletonKerriganF INSTANCE = new SingletonKerriganF(); } public static SingletonKerriganF getInstance() { return SingletonHolder.INSTANCE; }}

實際開發(fā)中,我們應(yīng)該記住:沒有最好的單例模式,只有最合適的單例模式。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石台县| 沂南县| 通城县| 星座| 闽侯县| 大埔区| 浮梁县| 临澧县| 铁岭市| 通河县| 乾安县| 平陆县| 石泉县| 吉林省| 鄢陵县| 简阳市| 运城市| 乐平市| 鄂托克旗| 怀远县| 仁寿县| 大渡口区| 万宁市| 桦甸市| 巧家县| 温州市| 庆城县| 江山市| 石渠县| 宜兴市| 嘉峪关市| 广灵县| 沛县| 通州市| 长兴县| 鄯善县| 文化| 普格县| 和田市| 香港| 安国市|