麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java設計模式之單例模式

2019-11-14 10:04:08
字體:
來源:轉載
供稿:網友

單例模式:確保一個類只有一個實例,并提供一個全局訪問點。

1、懶漢模式:

public class singleton { PRivate static singleton mSingleton; private singleton(){} public static singleton getInstance(){ if (mSingleton == null) { mSingleton = new singleton(); } return mSingleton; }}

通過singleton mSingleton = singleton.getInstance();來獲取singleton的實例。這種模式是在需要的時候才會創建,如果在多線程中使用,會導致創建多個實例,這時候需要用同步鎖來確保只有一個實例。

2、同步鎖模式:

public class singleton { private static singleton mSingleton; private singleton(){} public static synchronized singleton getInstance(){ if (mSingleton == null) { mSingleton = new singleton(); } return mSingleton; }}

雖然同步鎖可以解決多個實例的問題,但是在使用過程中,每次調用實例,都需要同步,對程序的性能來說有很大影響,有沒有辦法解決這個問題呢,答案是肯定的,“雙重檢查加鎖”模式可以減少使用同步。

3、雙重檢查加鎖模式:

public class singleton { private static singleton mSingleton; private singleton(){} public static singleton getInstance(){ if (mSingleton == null) { synchronized (singleton.class) { if (mSingleton == null) { mSingleton = new singleton(); } } } return mSingleton; }}

4、惡漢模式:

public class singleton { private static singleton mSingleton = new singleton(); private singleton(){} public static singleton getInstance(){ return mSingleton; }}

Singleton實例在singleton類加載的時候就實例化,這種方式是最簡單的方式,并且不存在多個實例的情況,也沒有線程同步的問題,缺點是即使沒有使用該單例,它也會在類加載時被創建,浪費內存。

5、靜態內部類:

public class singleton { private static class singletonHolder{ private static singleton mSingleton = new singleton(); } private singleton(){} public static singleton getInstance(){ return singletonHolder.mSingleton; }}

這種方式同樣利用了類加載機制來保證只創建一個instance實例。它與餓漢模式一樣,也是利用了類加載機制,因此不存在多線程并發的問題。不一樣的是,它是在內部類里面去創建對象實例。這樣的話,只要應用中不使用內部類,JVM就不會去加載這個單例類,也就不會創建單例對象,從而實現懶漢式的延遲加載。也就是說這種方式可以同時保證延遲加載和線程安全。

6、枚舉:

public enum singleton{ instance; private singleton(){}}

java中,為了強制只實例化一個對象,最好的方法是使用一個枚舉量。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美在线观看视频一区二区 | 久久久久久久一区二区 | 国产精品无码久久久久 | 成人黄色短视频在线观看 | 国产精品一区2区3区 | 国产免费片 | caoporn国产一区二区 | 中文字幕专区高清在线观看 | 青草av.久久免费一区 | 毛片a级毛片免费播放100 | 欧美a级毛片 | 日本黄色a视频 | av在线免费观看不卡 | 国产乱淫a∨片免费观看 | 成人福利在线播放 | 亚洲小视频网站 | 日本精品视频一区二区三区四区 | 欧美成年人在线视频 | 国产午夜亚洲精品午夜鲁丝片 | 欧美精品久久久久久久久久 | 99视频有精品视频高清 | 男女视频免费看 | 污片在线观看视频 | 好吊一区二区三区 | 99ri在线| 国产精品久久久久久影视 | 国产亚洲欧美日韩高清 | 午夜视频你懂的 | 欧美一级毛片一级毛片 | 毛片免费视频在线观看 | av电影网在线观看 | 一区二区三区视频在线观看 | 精品久久久91 | 亚洲精品久久久久久久久久 | 日韩一级片一区二区三区 | 日产精品一区二区三区在线观看 | 精品免费在线视频 | 成人在线观看地址 | 蜜桃视频观看麻豆 | 55夜色66夜色国产精品视频 | 久草在线综合网 |