定義:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。類圖如下:
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)公司專業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站開發(fā)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
public class Singleton3 {
// 靜態(tài)屬性,類加載時(shí)初始化的,JVM保證唯一
private static Singleton3 instance = new Singleton3();
private Singleton3() { }
public static Singleton3 getInstance() {
return instance;
}
}
- 使用“雙重檢查加鎖”,在getInstance()中減少使用同步,不適合JDK1.4之前的版本,代碼如下;
public class Singleton4 {
// 用靜態(tài)變量來(lái)記錄唯一的實(shí)例, volatile多線程環(huán)境下保用最新的值
private volatile static Singleton4 instance;
/**
* 構(gòu)造方法私有化,防止被創(chuàng)建,只能類內(nèi)部能使用構(gòu)造器
*/
private Singleton4() {
}
/**
* 實(shí)例化對(duì)象,并返回這個(gè)對(duì)象
* @return
*/
public static Singleton4 getInstance() {
if (instance == null) {
synchronized (Singleton4.class) {
if (instance == null) {
instance = new Singleton4();
}
}
}
return instance;
}
// 其他的方法
}
注意:有多個(gè)類加載器時(shí),單利可能產(chǎn)生多個(gè)哦,這個(gè)要注意哦。
單例模式的應(yīng)用場(chǎng)景:
- 應(yīng)用中某個(gè)實(shí)例對(duì)象需要頻繁的被訪問(wèn)。
- 應(yīng)用中每次啟動(dòng)只會(huì)存在一個(gè)實(shí)例。如賬號(hào)系統(tǒng),數(shù)據(jù)庫(kù)系統(tǒng)。
文章題目:“HeadFirst設(shè)計(jì)模式“:?jiǎn)卫J?/a>
鏈接分享:http://muchs.cn/article18/ihspdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、小程序開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站改版、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)