所謂“懶漢式”與“餓漢式”的區(qū)別娩梨,是在與建立單例對(duì)象的時(shí)間不同。
“懶漢式”是在你真正用到的時(shí)候才去建這個(gè)單例對(duì)象:
懶漢式在多線程情況下存在安全問題
比如:有個(gè)單例對(duì)象
private?static?Student?student?=?null览徒;??//不建立對(duì)象
Student?getInstance(){
if(student?==?null)?{????????//先判斷是否為空
student?=?new?Student();??//懶漢式做法
}
return?student狈定;
}
“餓漢式”是在不管你用的用不上,一開始就建立這個(gè)單例對(duì)象:
比如:有個(gè)單例對(duì)象
private?static?Student?student?=?new?Student();?//建立對(duì)象
Student?getInstance(){
return?student纽什;??//直接返回單例對(duì)象
}