為什么要用枚舉實(shí)現(xiàn)Singleton
1 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個贊
單例模式實(shí)現(xiàn)方式有很多:在第一次使用的時候創(chuàng)建(構(gòu)造函數(shù)中判斷是否已經(jīng)有實(shí)例存在),在類加載的時候用靜態(tài)塊兒創(chuàng)建(靜態(tài)塊初始化),在應(yīng)用啟動的時候創(chuàng)建。
在單線程中,基本大同小異,保證類的實(shí)例在整個應(yīng)用中只有一個,都是沒問題的。
但是在多線程環(huán)境下,什么時候創(chuàng)建這個實(shí)例是要考慮線程安全的。
枚舉類型最大的特點(diǎn)就是:構(gòu)造函數(shù)是private修飾的,也就是不能對其進(jìn)行new,對象的實(shí)例都是預(yù)定義的,也就是在類加載的時候都是定義好了的,不會給其它調(diào)用去創(chuàng)建實(shí)例的機(jī)會。
結(jié)論是,可以模擬這個思路去創(chuàng)建單例,不一定非得用枚舉,但是推薦用使用定義枚舉的方式去實(shí)現(xiàn)單例模式
- 1 回答
- 0 關(guān)注
- 641 瀏覽
添加回答
舉報
0/150
提交
取消