一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java兩種單例模式用法分析

java兩種單例模式用法分析

2020-06-06 14:03sir JAVA教程

這篇文章主要介紹了java兩種單例模式用法,結合實例形式對比分析了java實現單例模式的兩種常見技巧,需要的朋友可以參考下

本文實例講述了java兩種單例模式用法。分享給大家供大家參考,具體如下:

按照加載方式的不同,單例模式有兩種實現:

private:只能在同一個類中使用
static:該類是類方法,不能調用實例方法。/類全局變量
final:方法或成員變量不能被修飾

1、餓漢式

?
1
2
3
4
5
6
7
public class EagerSigleton{
private static final EagerSigleton instance=new EagerSigleton();
private EagerSigleton(){}////私有構造方法
public EagerSigleton getInstance(){//靜態工廠方法
return instance;
}
}

2、懶漢式

?
1
2
3
4
5
6
7
8
9
10
public class LazySigleton{
private static final LazySigleton instance=null;
private LazySigleton(){}//私有構造函數
public synchronized LazySigleton getInstance(){//靜態工廠方法,注意這里的synchronized
if(instance==null){
instance=new LazySigleton();
}
return instance;
}
}

分析對比:

相同點:

單例模式屬于創建模式,保證在同一個jvm中僅僅存在該類的一個實例。在上面兩種的單例模式中,可以看出:

① 兩種方式的構造函數都是私有的。
② 對外接口都是工廠方法。

不同點:

餓漢式是在類裝載時直接得到該類的實例,可以說式前期綁定的。而懶漢式在類加載時并沒有指向具體的某個對象。而是當調用工廠方法后才被實例化。因此,前者速度快,后者速度慢。但后者可以加載其他的類,(也就是動態擴展)靈活性高。

希望本文所述對大家java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99 久久99久久精品免观看 | 久久er国产精品免费观看2 | 亚洲欧美日韩精品 | gay男男白袜chinese | 久久久精品日本一区二区三区 | 91噜噜噜噜色 | 99久久精品国内 | 特黄视频免费看 | 久久99热在线观看7 久久99精品涩AV毛片观看 | 韩国一级淫片特黄特刺激 | 视频二区 素人 制服 国产 | 亚洲精品视频网 | 麻豆小视频在线观看 | 女同69式互添在线观看免费 | 天堂久久久久va久久久久 | 色8| 北条麻妃一区 | 美女视频91| 视频在线播放 | 亚洲mv国产精品mv日本mv | 好涨好大我快受不了了视频网 | 亚洲高清在线天堂精品 | 白丝超短裙被输出娇喘不停小说 | 亚洲成人网导航 | 欧美日韩一区不卡 | 国产精品网站在线观看 | 亚洲国产自拍在线 | 日本不卡一区二区三区在线观看 | 肉色欧美久久久久久久蜜桃 | 日本女人www | 91啪在线观看国产在线 | 免费国产午夜高清在线视频 | 交换性关系中文字幕6 | 精品国产一区二区三区久 | 欧美色阁 | 亚洲黄色小视频 | 好大好硬好深好爽gif图 | 亚洲天堂免费看 | 91精品国产色综合久久不卡蜜 | 日产乱码卡一卡2卡三卡四福利 | 调教老师肉色丝袜的故事 |