想要保證物件唯一。
1,為了避免其他程式過多建立該類物件。先禁止其他程式建立該類物件
2,還為了讓其他程式可以訪問到該類物件,只好在本類中,自定義乙個物件。
3,為了方便其他程式對自定義物件的訪問,可以對外提供一些訪問方式。
這三部怎麼用**體現呢?
1,將建構函式私有化。
2,在類中建立乙個私有的本類物件。
3,提供乙個用類名呼叫的共有的方法可以獲取到該物件。
單例模式的兩種建立方法
//餓漢式:
class single
public static single getinstance()
//懶漢式:
class single
public static single getinstance()}}
return s;
}single s =single .getinstance();
餓漢式與懶漢式單例模式的最大區別在於:懶漢式先不賦值,等到使用時再延時載入。
建議使用餓漢式。
java2 鍊錶 例
實現鍊錶操作 鍊錶 class doit public node getnext public void setdata string data public string getdata public boolean add node head,string data else public vo...
Java設計模式 單例模式2
之前說到的懶漢式可以延遲載入,但是會有執行緒安全的問題,解決的辦法是新增synchronized關鍵字,但是這樣就會有效能的問題,每次都要同步而且都要判斷,會降低訪問速度。下面的餓單例模式雙重鎖檢查連線資料庫可以解決這個問題。雙重檢查加鎖 就是不是上來就對 進行同步,而是首先判斷是不是存在,如果存在...
java單例模式
第一種方法 public class singleton private static singleton singleton new singleton public static singleton getinstance 第二種方法 public class singleton private...