單例設計模式
什麼叫設計模式
設計模式指的是解決某一類問題行之有效的解決辦法。
單例設計模式是用來解決什麼問題的
單例模式可以保證乙個類的物件唯一性。
比如多個程式都要使用同乙個配置檔案中的資料,且要實現資料共享和交換。必須要將資料封裝到乙個物件中,讓不同的程式操作的是同乙個物件。也就是說必須保證這個配置檔案的物件唯一性。這個時候就是用單例。
單例設計模式的兩種**體現
餓漢式與懶漢式
1.餓漢式單例設計模式:這是先初始化物件,稱為:餓漢式。
singledemo
類一進記憶體,就已經建立好了物件。 1.
//餓漢式單例設計模式
2.class
singledemo
10.11.
public
singledemo getstring()
16.17.
}
18.19. 2.
懶漢式單例設計模式:該單例模式在被呼叫方法時,才初始化物件,也叫物件的延時載入。稱為:懶漢式。
注意:缺點:如果當執行緒剛執行完
if(s==null)
語句,該執行緒失去執行權,而另乙個執行緒也執行該**,判斷
s時也為空,建立了乙個物件,第乙個執行緒在執行時就又建立乙個物件,不能保證單例了。
這時我們想到了鎖。
總結:即便懶漢式能確保只建立乙個物件,但是耗時太多,不如餓漢式方便。
面試點:
if(s==null)
} 20.//
懶漢式單例設計模式
21.class
singledemo2
28.29.
//懶漢式單例設計模式在被呼叫方法的時候才初始化物件,對,懶漢很懶,被呼叫的時候才初始化
30.public
singledemo2 getstring()
37.38.
}
單例設計模式的小測試
1.//
描述超人。
2.class
superman
3.
12.13.
public
static
superman getinstance()
//獲取本類物件的方法
14.
17.18.
public
void
setname(string name)
19.
22.23.
public
string getname()
24.
27.28.
public
void
fly()
29.
32.}
33.34.
class
singletest
35.
46.}
黑馬程式設計師 java單例設計模式
asp.net unity開發 net培訓 期待與您交流!下面介紹一下單例設計模式。單例,即單個例項物件。那麼單例設計模式 即解決乙個類在記憶體中只存在乙個物件。那麼想要保證物件唯一 1,為了避免其他程式過多建立該類物件,先禁止其他程式建立該類物件。2,還為了其他程式可以訪問到該類物件,只好在本類中...
黑馬程式設計師 java 單例設計模式
單例設計模式解決的問題 保證乙個類在記憶體中的物件唯一性。比如 多程式讀取乙個配置檔案時,建議配置檔案封裝成物件會方便操作其中資料。但需要保證多個程式讀到的是同乙個配置檔案物件,該配置檔案物件在記憶體中是唯一的。如何保證物件唯一性呢?思想以及步驟 1,不讓其他程式建立該類物件。私有化建構函式 2,在...
黑馬程式設計師 單例設計模式
asp.net android io開發s net培訓 期待與您交流!設計要求 1.只能被例項化一次。2.由自己建立例項。3.能向該類任意引用提供上述例項。方式一 餓漢式 class single public static single getinstance 方式二 懶漢式 class sing...