国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 红河县| 五华县| 阿勒泰市| 丰台区| 建德市| 广西| 曲周县| 平昌县| 呼伦贝尔市| 福州市| 昌吉市| 肇东市| 竹溪县| 湾仔区| 岫岩| 南皮县| 阜平县| 定日县| 类乌齐县| 大荔县| 赤峰市| 花莲县| 营山县| 梅河口市| 张家港市| 雷波县| 绥德县| 班玛县| 西丰县| 信丰县| 焦作市| 永丰县| 手机| 岱山县| 平谷区| 平度市| 右玉县| 西和县| 调兵山市| 肥城市| 肇庆市|