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