幫助新人分分鐘搞定Java單例模式!

單例模式


外部資源:每臺(tái)計(jì)算機(jī)有若干個(gè)打印機(jī),但只能有一個(gè)PrinterSpooler,以避免兩個(gè)打印作業(yè)同時(shí)輸出到打印機(jī)。
Windows的Task Manager(任務(wù)管理器)就是很典型的單例模式(這個(gè)很熟悉吧),想想看,是不是呢,你能打開(kāi)兩個(gè)windows task manager嗎?
多線程的線程池的設(shè)計(jì)一般也是采用單例模式,這是由于線程池要方便對(duì)池中的線程進(jìn)行控制。




天生線程不安全:這種方式是最基本的實(shí)現(xiàn)方式,這種實(shí)現(xiàn)最大的問(wèn)題就是不支持多線程。因?yàn)闆](méi)有加鎖 synchronized,所以嚴(yán)格意義上它并不算單例模式。

天生線程不安全:這種方式具備很好的 lazy loading,能夠在多線程中很好的工作,但是,效率很低,99% 情況下不需要同步。






▼免費(fèi)名額火熱搶先中
課程咨詢(xún):后臺(tái)直接回復(fù):客服,真人在線答疑方便又快捷。達(dá)妹微信:tedu521,了解課程介紹,獲取學(xué)習(xí)資源。

點(diǎn)擊下方“閱讀原文”搶免費(fèi)試聽(tīng)名額吧!(頁(yè)面如果加載不全,請(qǐng)退出重新進(jìn)入,耐心等3秒哦
評(píng)論
圖片
表情
