當我們使用單例模式的時候,在實際需求場景中。單例模式可以給我們帶來更好的資源優化。但是同時,他也帶來了執行緒安全問題,下面使用了7中方式的單例模式,在實際場景中,我們往往不會簡簡單單的使用餓漢模式或者懶漢模式。
public
class test
public
static singleton getinstance()}/*
單例模式,餓漢式,執行緒下不安全
*/public
static
class singleton2
public
static singleton2 getinstance()}/*
單例模式,餓漢式,執行緒安全,多執行緒環境下效率不高
*/public
static
class singleton3
private
static synchronized singleton3 getinstance()}/*
單例模式,懶漢式,變種,執行緒安全
*/public
static
class singleton4
private
singleton4()
public
static singleton4 getinstance() }/*
單例模式,使用靜態內部類,執行緒安全【推薦】
*/public
static
class singleton5
private
singleton5()
public
static singleton5 getinstance() }/*
靜態內部類,使用列舉方式,執行緒安全【推薦】
*/public
enum singleton6 }/*
靜態內部類,使用雙重校驗鎖,執行緒安全【推薦】
*/public
static
class singleton7
public
static singleton7 getinstance()
}return instance;}}
/*測試
*/public
static
void
main(string args)
}
單例設計模式多種實現方式
public class singleton 私有化建構函式,防止new物件 public static singleton getinstance public class singleton public static singleton getinstance return intance 這...
單例模式的多種寫法
public class singleton 私有化構造器 private static singleton instance null 類的內部建立物件 public static singleton getinstance return instance 餓漢class singleton2 只...
單例模式多種方法
第一種 懶漢式 在需要例項物件的時候提供 懶漢式,提供乙個getinstance方法,在需要例項時,才呼叫 執行緒不安全,可以在getinstance上加synchronized保證執行緒安全,但是效能不高 author wb public class singleton 私有乙個例項 privat...