一個類只有一個實列,而且提供一個對外訪問該實例的全局訪問點。面試
常見應用場景:數據庫鏈接池,項目中讀取配置文件的類,servlet也是單列,Spring中的Bean默認也是單列數據庫
通常狀況下,你們知道前兩個已經基本ok了,若是再拿後三個跟面試管去「砍」,相信他會對你刮目相看。安全
測試代碼:性能
五種單列模式耗時以下:測試
說明:如下只是相對測試結果,機器配置不一樣可能測試結果有出入。優化
單列模式名spa |
耗時線程 |
餓漢式 | 14ms |
懶漢式 | 4404ms |
雙重檢查鎖 | 18ms |
靜態內部類 | 16ms |
單例 | 15ms |