筆記…… ,主要是為了讓自己理清思路,加深理解,以及總結。方便以後沒事可以翻出來看看。有可能很詳細也有可能一概而過還有可能有不太懂得會標出來以後補充。
1,構造方法不對外開發的,一般是private
2,通過乙個靜態方法或者列舉返回單例的物件
3,注意多執行緒的場景
4,注意單例類物件在反序列化時不會重新重建物件
static
class
singleton
//共有靜態方法 執行緒不安全
public
static singleton getinstance()
return msingleton;
}//共有靜態方法 執行緒安全 同步鎖粒度太大 。 耗效能
public
static
synchronized singleton getinstance()
return msingleton;
}
//共有靜態方法 雙重校驗dcl
public
static singleton getinstance()
}return msingleton;
}}
static
class
singleton2
public
static singleton2 getinstance()
}}
static
class
singleton3
;private
static clas holder
public
static
final singleton3 getinstance()
}
//列舉預設執行緒安全
public
class
single
public
enum singleenum
public single getsingle()
}public
static single getinstacne()
static class singletonmanager{
private static mapobjmap = new hashmap<>();
Android單例模式
單例模式singleton 應用場合 有些物件只需要乙個就足夠了,如古代皇帝 老婆 作用 保證整個應用程式中某個例項有且只有乙個 型別 餓漢模式 懶漢模式 public class singleton 2.建立類的唯一例項,使用private static修飾 private static sing...
Android單例模式
參考部落格 1 懶漢模式 每一次呼叫都要對方法進行加鎖,要維護鎖會導致效能損耗,其實不需要每次進入方法都加鎖,只需要第一次進入的時候防止多個執行緒產生多個單例即可。所以只需要在new singleton處加鎖即可,由此引出第二種模式,雙重鎖定模式。2 雙重鎖定模式 第一次生成完例項以後就直接返回例項...
Android 設計模式 單例模式
有哪些單例模式 實現方式1 雙重確認 double check lock dcl class singleton public void dosomething public static singleton getinstance return sinstande 為了減少重複 可用泛型來優化 抽...