何為單例模式夸赫?
?1)是一種設(shè)計套路,一種經(jīng)驗總結(jié)孙蒙。
2)是保證此類的實例內(nèi)存中只有一份的設(shè)計方案
?單例模式的類型履腋?
1)懶漢單例(對象何時需要何時創(chuàng)建)
2)餓漢單例(類加載時創(chuàng)建)
?單例模式的實現(xiàn)薇缅?
?1)構(gòu)造方法私有化
?2)提供一個靜態(tài)方法返回此類實例瞬矩,從而外界使用评也。
1.懶漢單例(延遲加載炼杖,按需加載)
2.懶漢單例優(yōu)化(性能)
3.餓漢單例
4.餓漢單例優(yōu)化(按需加載,延遲加載)
5.餓漢單例(基于枚舉)
6.如何實現(xiàn)線程內(nèi)部單例?借助ThreadLocal
ThreadLocal提供了這樣的一種機制
1)可以將某個對象綁定到當(dāng)前線程(存map)
2)可從當(dāng)前線程獲取某個對象(key是誰)