單例模式是一種物件建立模式,它用於產生乙個物件的具體例項,它可以確保系統中的乙個類只產生乙個例項。
在面試中經常會遇到,手寫一種單例模式實現方式,而單例的實現方式有:懶漢式、餓漢式、執行緒安全式、雙重檢查式和靜態內部類方式,為了便於學習記憶記錄一下。
需要時建立乙個例項,所以第乙個是執行緒不安全的
public class lazysingleton //無參構造
public static lazysingleton getmlazysingleton()
return mlazysingleton;
}}
這個方式中同步了整個safesingleton.getmsafesingleton方法,保證了執行緒安全
public class safesingleton //無參構造
public static synchronized safesingleton getmsafesingleton()
return msafesingleton;
}}
public class eagersingleton
public static eagersingleton getmeagersingleton()
}
執行緒安全式同步整個獲取單例的方法會浪費很多效能,雙重檢查式區別在初次建立時才會同步
public class doublechecksingleton
public static doublechecksingleton ge***oublechecksingleton()}}
return mdoublechecksingleton;
}}
public class staticsingleton
private static class staticsingletonholder
public static final staticsingleton getinstance()
}
C 設計者模式 單例模式
單例用到鎖的定義實現 mutex.h pragma once include includeusing namespace std class imylock virtual void lock const 0 virtual void unlock const 0 class mutex publ...
設計者模式
1.單例模式 每個new出來的例項都需要有乙個相同的方法,但是這時候如果 每個例項都新建乙個這種方法,太佔據記憶體也太慢,所以在這裡有乙個重要的判斷 如果有例項,則返回例項 如果沒有例項,則建立例項,並且返回例項。例 class createuser return createuser.ins co...
設計者模式 構建者模式
一 介紹 場景 建造乙個複雜的產品。比如 神舟飛船,iphone,這個複雜的產品建立,有這樣乙個問題需要處理 裝配這些子元件,是不是有個步驟問題?實際開發中,需要的物件,在構建時,也非常複雜,有很多步驟需要處理。建造者模式的本質 分離物件子元件的單獨構造 由builder來負責 和裝配 由direc...