單例設(shè)計(jì)模式:保證一個(gè)類在內(nèi)存中只有一個(gè)對(duì)象
模式:解決一類問題的固定步驟
餓漢單例設(shè)計(jì)模式步驟:
1.私有化構(gòu)造函數(shù)
2.聲明本類的引用類型變量,并指向本類對(duì)象
3.提供一個(gè)公共靜態(tài)方法返回本類對(duì)象
class Single
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
懶漢單例設(shè)計(jì)模式步驟:
1.私有化構(gòu)造函數(shù)
2.聲明本類的引用類型變量弛姜,但不創(chuàng)建本類對(duì)象
3.提供一個(gè)公共靜態(tài)方法返回本類對(duì)象陈醒,返回之前判斷本類對(duì)象是否存在棺棵,如果存在直接返回挂据,不存在组贺,創(chuàng)建本類對(duì)象并返回
class Single2
{
private static Single2 s;
private Single2(){};
public static Single2 getInstance(){
if(s == null)
{
s = new Single2();
}
return s;
}
}
總結(jié):推薦使用餓漢單例設(shè)計(jì)模式因?yàn)閼袧h單例設(shè)計(jì)模式存在線程安全問題丸边,目前還不能保證在內(nèi)存里只有一個(gè)對(duì)象