国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java中四種常見的單例模式以及各自優(yōu)缺點總結(jié)

2019-11-06 06:41:52
字體:
供稿:網(wǎng)友
餓漢式實現(xiàn):餓漢式單例模式代碼中,static變量會在類裝載時初始化,此時也不會涉及多個線程對象訪問該對象的問題。虛擬機保證只會裝載一次該類,肯定不會發(fā)生并發(fā)訪問的問題。因此,可以省略synchronized關(guān)鍵字。問題:如果只是加載本類,而不是調(diào)用getInstance(),甚至永遠(yuǎn)沒有調(diào)用,則會造成資源浪費!懶漢式(單例對象延時加載):要點:lazy load!  延時加載,懶加載!真正用的時候才加載!問題:資源利用率高了。但是,每次調(diào)用getInstance()方法都要同步,并發(fā)效率低。靜態(tài)內(nèi)部類實現(xiàn)方式(也是一種懶加載方式):要點:外部類沒有static屬性,則不會像餓漢式那樣立即加載對象。只有真正調(diào)用getInstance(),才會加載靜態(tài)內(nèi)部類。加載類時是線程安全的。instance是static final類型,保證了內(nèi)存中只有這樣一個實例存在,而且只能被賦值一次,從而保證了線程安全性兼?zhèn)淞瞬l(fā)高效調(diào)用和延遲加載的優(yōu)勢!

枚舉式:

線程安全、調(diào)用效率高,但不能延時加載,并且可以天然的防止反射和反序列化漏洞!

單例對象 占用資源少,不需要延時加載:枚舉式 好于餓漢式單例對象 占用資源大,需要延時加載:靜態(tài)內(nèi)部類式好于懶漢式
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 达日县| 馆陶县| 嘉鱼县| 定边县| 五大连池市| 辽宁省| 花垣县| 陆川县| 中阳县| 东阿县| 铜川市| 商河县| 宣威市| 鄂托克旗| 无锡市| 关岭| 皮山县| 兴业县| 从江县| 桂平市| 昆山市| 日土县| 长海县| 客服| 博野县| 故城县| 临安市| 华安县| 信丰县| 栾川县| 德清县| 江孜县| 象州县| 东安县| 阜新市| 青岛市| 突泉县| 亳州市| 佛冈县| 台南县| 宝坻区|