保證乙個類在記憶體中的物件唯一性。(單個例項設計模式)、
(在堆中只有乙個物件;方法區儲存著建構函式和公有方法等。)
(1)私有化該類的建構函式(private)
(2)在本類中建立乙個本類物件(private static)或者在方法中建立。
(3)定義乙個公有的方法,將建立的物件返回(public static)。
1、懶漢式:延遲載入物件形式,物件在公有方法建立;(存在多執行緒安全隱患)。
class singledemo1
public
static singledemo1 getinstance()
}
2、餓漢式:只要一旦載入類就建立物件。(開發用的多)
public
class singledemo
public
static singledemo getinstance()
}
1、懶漢式會出現安全問題:可能會建立多個物件,導致物件不唯一性。
2、解決:
public
static singledemo1 getinstance()
}return s;
}
注意:如果使用同步函式的方法,每次呼叫方法都會判斷同步鎖導致降低效率。 設計模式入門 單例模式
1.什麼是單例模式?就是整個類就有乙個例項,並提供乙個訪問它的全域性訪問點。2.單例模式的存在形式?飢漢模式 飽漢模式,雙重鎖模式 圖3.類結構圖 圖1.飢漢模式 public class singletonhungry public static singletonhungry getinstan...
java設計模式 單例設計模式
public class main 餓漢式 空間換時間 多執行緒訪問不會建立多個物件 author admin class singleton 2建立本類物件 private static singleton s new singleton 3對外提供公共的訪問方法 public static si...
Java單例設計模式
單例設計模式也有人叫單態,基本上有兩種寫法一種是餓漢式,另外一種是懶漢式。餓漢式就是一開始就建立了例項物件 public class singleton public static singleton getintance 懶漢式是需要的時候才建立 它比較懶 而且會涉及執行緒同步問題,需要增加同步 ...