国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【java】設(shè)計(jì)模式——單例模式

這篇具有很好參考價(jià)值的文章主要介紹了【java】設(shè)計(jì)模式——單例模式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

  1. 單例模式要點(diǎn)
    • 一個(gè)類只需要一個(gè)實(shí)例化對(duì)象;
    • 必須自行創(chuàng)建實(shí)例;
    • 必須自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例
  2. 實(shí)現(xiàn)
    • 只提供私有構(gòu)造方法;
    • 有一個(gè)該類的靜態(tài)私有對(duì)象;
    • 提供一個(gè)靜態(tài)公有方法用于創(chuàng)建、獲取靜態(tài)私有對(duì)象;
    分析:
    • 私有構(gòu)造方法->不能隨意創(chuàng)建實(shí)例;
    • 靜態(tài)私有對(duì)象:確保只有一個(gè)實(shí)例對(duì)象
    • 靜態(tài)公有方法->提供一個(gè)外部接口,可直接通過類名調(diào)用該方法,方法內(nèi)部能直接調(diào)用靜態(tài)對(duì)象;
  3. 餓漢式實(shí)現(xiàn)方法:在創(chuàng)建類時(shí)實(shí)例化
// 在創(chuàng)建類時(shí)直接實(shí)例化,空間換時(shí)間
public class SingletonOne{
	//1. 私有構(gòu)造
	private SingletonOne(){
	}
	
	//2. 在創(chuàng)建該類時(shí)初始化靜態(tài)私有對(duì)象
	private static SingletonOne instance = new SingletonOne();

	// 3.提供靜態(tài)公有方法返回靜態(tài)實(shí)例對(duì)象
	public static SingletonOne getInstance(){
		return instance;
	}
}
  1. 懶漢式實(shí)現(xiàn)方法:靜態(tài)公有方法中實(shí)例化
// 在調(diào)用靜態(tài)公有方法后,才完成對(duì)象的實(shí)例化
public class SingletonTwo{
	//1. 私有構(gòu)造
	private SingletonOne(){
	}
	
	//2. 在創(chuàng)建該類時(shí)初始化靜態(tài)私有對(duì)象
	private static SingletonTwo instance = null;

	// 3.提供靜態(tài)公有方法返回靜態(tài)實(shí)例對(duì)象
	public static SingletonOne getInstance(){
		if(instance==null) // 保證只會(huì)實(shí)例化一次
			instance = new SingletonTwo();
		return instance;
	}
}
  1. 餓漢式 vs 懶漢式
單例模式的實(shí)現(xiàn)方法 實(shí)例化對(duì)象的時(shí)間 空間特點(diǎn) 時(shí)間特點(diǎn) 線程安全
餓漢式 在類加載時(shí)候完成 空間占用時(shí)間長 在第一次使用時(shí)加載速度快 線程安全
懶漢式 在第一次調(diào)用共有方法時(shí)完成 不會(huì)造成內(nèi)存空間浪費(fèi) 在第一次使用時(shí)加載時(shí)間相對(duì)慢 線程不安全

文章來源地址http://www.zghlxwxcb.cn/news/detail-644210.html

到了這里,關(guān)于【java】設(shè)計(jì)模式——單例模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java設(shè)計(jì)模式---單例 工廠 代理模式

    單例模式是設(shè)計(jì)模式中的一種,屬于創(chuàng)建型模式。在軟件工程中,單例模式確保一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn)。這種模式常用于那些需要頻繁實(shí)例化然后引用,且創(chuàng)建新實(shí)例的開銷較大的類,例如數(shù)據(jù)庫連接池、緩存管理等。 意圖 :保證一個(gè)類僅有一個(gè)實(shí)例

    2024年01月24日
    瀏覽(28)
  • 設(shè)計(jì)模式篇(Java):單例模式

    設(shè)計(jì)模式篇(Java):單例模式

    上一篇:設(shè)計(jì)模式篇(Java):前言(UML類圖、七大原則) 所謂類的單例設(shè)計(jì)模式,就是采取一定的方法保證在整個(gè)的軟件系統(tǒng)中,對(duì)某個(gè)類只能存在一個(gè)對(duì)象實(shí)例,并且該類只提供一個(gè)取得其對(duì)象實(shí)例的方法(靜態(tài)方法)。 構(gòu)造器私有化 (防止 new ) 類的內(nèi)部創(chuàng)建對(duì)象 向外暴露一個(gè)靜

    2024年02月11日
    瀏覽(29)
  • java設(shè)計(jì)模式-單例

    單例模式是一種創(chuàng)建型設(shè)計(jì)模式,它可以保證一個(gè)類只有一個(gè)實(shí)例,并提供全局訪問點(diǎn)。單例模式在實(shí)際開發(fā)中經(jīng)常使用,可以避免多個(gè)實(shí)例引起的資源浪費(fèi)和同步問題。常見的java實(shí)現(xiàn)方式有多種。 餓漢式單例模式是指在類加載時(shí)就創(chuàng)建了單例對(duì)象,因此在調(diào)用時(shí)不需要再

    2024年01月18日
    瀏覽(25)
  • Java與設(shè)計(jì)模式(4):單例模式

    單例模式是一種創(chuàng)建型設(shè)計(jì)模式,它確保一個(gè)類只有一個(gè)實(shí)例,并提供全局訪問點(diǎn)來訪問該實(shí)例。 在單例模式中,類的構(gòu)造函數(shù)被私有化,從而禁止外部直接實(shí)例化該類。通過一個(gè)靜態(tài)方法或靜態(tài)變量來控制類的實(shí)例化過程,并返回同一個(gè)實(shí)例。 單例模式的特點(diǎn)包括: 單一

    2024年02月12日
    瀏覽(27)
  • java設(shè)計(jì)模式-單例模式(Singleton)

    單例模式(Singleton)就是一個(gè)類只能有一個(gè)實(shí)例,自行實(shí)例化,并向系統(tǒng)提供這一實(shí)例,這個(gè)類就是單例類。單例模式的特點(diǎn): 一個(gè)類只能有一個(gè)實(shí)例; 單例類自己實(shí)例化; 單例類給其它對(duì)象提供這個(gè)單一實(shí)例。 資源管理類經(jīng)常被設(shè)計(jì)為單例模式,例如管理屬性文件的類。

    2024年02月15日
    瀏覽(19)
  • Java設(shè)計(jì)模式之單例模式

    Java設(shè)計(jì)模式之單例模式

    定義:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn) 類型:創(chuàng)建型 想確保任何情況下都絕對(duì)只有一個(gè)實(shí)例 例如:線程池,數(shù)據(jù)庫連接池一般都為單例模式 單例模式優(yōu)點(diǎn) 在內(nèi)存中只有一個(gè)實(shí)例,減少內(nèi)存開銷 可以避免對(duì)資源的多重占用 設(shè)置全局訪問點(diǎn),嚴(yán)格控制訪問

    2024年02月02日
    瀏覽(56)
  • Java設(shè)計(jì)模式(八)— 單例模式3

    Java設(shè)計(jì)模式(八)— 單例模式3

    單例模式之靜態(tài)內(nèi)部類 單例模式之枚舉方式 單例模式之JDK源碼分析 Hello,小伙伴們,歡迎來到柚子的博客~讓我們一起成長吧o( ̄▽ ̄)ブ 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 代碼如下(示例): 類被裝載的時(shí)候,類里面的靜態(tài)內(nèi)部類也是會(huì)被裝載的,而且線

    2024年02月09日
    瀏覽(55)
  • 03-JAVA設(shè)計(jì)模式-單例模式詳解

    03-JAVA設(shè)計(jì)模式-單例模式詳解

    單例模式(Singleton Pattern)是設(shè)計(jì)模式中的一種,它確保一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn)來訪問該實(shí)例。這種設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式。 單例模式的應(yīng)用場景十分廣泛,主要涉及需要頻繁使用某個(gè)對(duì)象而又不想重復(fù)創(chuàng)建的情況

    2024年04月13日
    瀏覽(30)
  • Java——單例設(shè)計(jì)模式

    Java——單例設(shè)計(jì)模式

    設(shè)計(jì)模式是在大量的實(shí)踐中總結(jié)和理論化之后優(yōu)選的代碼結(jié)構(gòu)、編程風(fēng)格、以及解決問題的思考方式。設(shè)計(jì)模式免去我們自己再思考和摸索。就像是經(jīng)典的棋譜,不同的棋局,我們用不同的棋譜、“套路”。 經(jīng)典的設(shè)計(jì)模式共有23種。每個(gè)設(shè)計(jì)模式均是特定環(huán)境下特定問題的

    2024年02月11日
    瀏覽(27)
  • java基礎(chǔ)之設(shè)計(jì)模式(單例模式,工廠模式)

    是一種編碼套路 單例模式 一個(gè)類只能創(chuàng)建一個(gè)實(shí)例 餓漢式 直接創(chuàng)建唯一實(shí)例 缺點(diǎn): 有可能浪費(fèi)空間 懶漢式 在獲取實(shí)例是創(chuàng)建唯一對(duì)象 缺點(diǎn): 線程效率慢 懶漢式-進(jìn)階版 在懶漢式的基礎(chǔ)上,利用同步代碼塊結(jié)合二次校驗(yàn)提高執(zhí)行效率 工廠模式 是一種底層技術(shù),通常用于底層框

    2024年01月18日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包