亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

設計模式-單例模式

2019-11-14 11:28:32
字體:
來源:轉載
供稿:網友
單例模式能夠確保一個類只有一個實例。自行提供這個實例并向整個系統提供這個實例。本實例介紹如何使用這種設計模式及單例模式的呀用法實現單例模式的技術要點如下:1.單例模式有兩種實現方式:第一種是將類的構造方法私有化,用一個私有的類變量instance保存類的實例,在加載類時,創建類的實例,并將實例賦給instance;然后再  提供一個公有的靜態方法getInstance,用于獲取類的唯一實例,該方法直接返回instance。第二種是將類的構造方法私有化,用一個私有的類變量instance保存類的實  例,在加載類時,將null賦予instance;再提供一個公有的靜態方法getInstance,用來獲取類的唯一實例,該方法首先判斷instance是否為null,          如果為null,則創建實例對象,否則,直接返回instance      2.兩種方式的區別在于:前者被加載時,類的唯一實例被創建;后者在第一個調用getInstance方法時,類的唯一實例被創建,但需要在getInstance()方法的聲明中使用                  synchronized關鍵字,保證某一時刻只有一個線程調用此方法。將類的構造方法私有化的原因是,在外界創建一個新對象時,無法使用new 對象名();的方式來進行,因為            該對象的無參構造函數是私有的,對外不可見。
package Pattern;class OneSingleton{//第一種方式實現單例模式	PRivate static int number=0; //私有屬性	private static OneSingleton instance=new OneSingleton();//OneSingleton的唯一實例	private OneSingleton(){} //將構造函數私有化,防止外界構造OneSingleton實例	public static OneSingleton getInstance(){//獲取OneSingleton的實例		return instance;	}	public synchronized int  getNumber(){//synchronized關鍵字表示方法是線程同步		return number;//任意時刻最多只能有一個線程進入該方法	}	public synchronized void nextNumber(){//將number加1		number++;	}}class TwoSingleton{//第二種方式實現單例模式	private static int number=0; //私有屬性	private static TwoSingleton instance=null;//TwoSingleton的唯一實例	private TwoSingleton(){} //將構造函數私有化,防止外界構造TwoSingleton實例	public static TwoSingleton getInstance(){//獲取TwoSingleton的實例		if(instance==null)		{			instance =new TwoSingleton();		}		return instance;	}	public synchronized int  getNumber(){//synchronized關鍵字表示方法是線程同步		return number;//任意時刻最多只能有一個線程進入該方法	}	public synchronized void nextNumber(){//將number加1		number++;	}}public class TextSingleton {	public static void main(String[] args) {		OneSingleton one1=OneSingleton.getInstance();		OneSingleton one2=OneSingleton.getInstance();		System.out.println("用第一種方式OneSingleton實現到單例模式");		System.out.println("調用nextNumber方法前");		System.out.println("one1.number="+one1.getNumber());		System.out.println("one2.number="+one2.getNumber());		one1.nextNumber();		System.out.println("調用nextNumber方法后");		System.out.println("one1.number="+one1.getNumber());		System.out.println("one2.number="+one2.getNumber());		//第二種單例模式		TwoSingleton two1=TwoSingleton.getInstance();		TwoSingleton two2=TwoSingleton.getInstance();		System.out.println("用第二種方式TwoSingleton實現到單例模式");		System.out.println("調用nextNumber方法前");		System.out.println("two1.number="+two1.getNumber());		System.out.println("two2.number="+two2.getNumber());		two1.nextNumber();		System.out.println("調用nextNumber方法后");		System.out.println("two1.number="+two1.getNumber());		System.out.println("two2.number="+two2.getNumber());	}}源程序解讀

1.OneSingleton 和 TwoSingleton類都實現了單例模式,區別是

第一種方法在類被加載的時候就創建類的唯一對象

private static OneSingleton instance=new OneSingleton();第二種方法是第一次調用 getInstance()方法時才創建類的唯一實例 
private static TwoSingleton instance=null;//TwoSingleton的唯一實例	public static TwoSingleton getInstance(){//獲取TwoSingleton的實例		if(instance==null)		{			instance =new TwoSingleton();		}		return instance;	}	2.在TwoSingleton類中,getInstance()方法聲明中使用了 synchronized(同步)關鍵字,以保證同一時刻只有一個線程進入該方法,這樣,就保證了只會新建一個對象3. 單例模式的實現方式將構造函數私有,以防止外界通過調用構造函數創建類的對象。將類的唯一對象保存為靜態私有屬性 private OneSingleton(){} 和private TwoSingleton(){},這個使用new OneSingleton() 和new TwoSingleton()的方式是不可行的 ,然后提供一個靜態公有方法getInstance()獲取該唯一對象,可以保證每次返回的都是同一個對象。
上一篇:theano學習初步(一)

下一篇:蘋果

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产美女搞久久| 国产在线视频91| 国产精选久久久久久| 亚洲欧美日韩精品久久奇米色影视| 狠狠色狠狠色综合日日小说| 日韩免费精品视频| 亚洲图片欧美日产| 国产精品小说在线| 国产日韩欧美在线看| 精品无人区乱码1区2区3区在线| 成人中文字幕在线观看| 久久久亚洲福利精品午夜| www.久久色.com| 国产精品久久久久一区二区| 亚洲第一天堂av| 欧美日韩在线免费| 成人网欧美在线视频| 成人免费xxxxx在线观看| 91在线视频成人| 亚洲人成网站免费播放| 成人中文字幕在线观看| 亚洲精品动漫久久久久| 日韩资源在线观看| 日韩av中文字幕在线免费观看| 国产精品极品美女粉嫩高清在线| 日本精品久久中文字幕佐佐木| 福利精品视频在线| 亚洲免费视频在线观看| 中文字幕日韩精品在线| 国产成人精品免费久久久久| 91在线观看欧美日韩| 2021国产精品视频| 亚洲天堂av女优| 欧美中文字幕视频| 国产精品海角社区在线观看| 亚洲国产欧美在线成人app| 色婷婷综合成人av| 亚洲国产精品中文| 97视频在线观看免费| 日本久久中文字幕| 久久99久久久久久久噜噜| 精品福利樱桃av导航| 亚洲全黄一级网站| www.色综合| 欧美最猛性xxxxx亚洲精品| 亚洲女人天堂视频| 主播福利视频一区| 热99精品里视频精品| 日av在线播放中文不卡| 欧美激情欧美激情| 久久综合免费视频| 成人h视频在线观看播放| 国产成人免费91av在线| 久久久久久久久久久免费精品| 中日韩午夜理伦电影免费| 欧美巨乳美女视频| 国产精品你懂得| 色综合久久88色综合天天看泰| 最近2019中文免费高清视频观看www99| 亚洲国产成人精品一区二区| 亚洲国产天堂久久综合网| 亚洲视频网站在线观看| 国产日韩中文字幕| 亚洲精品一区二区三区不| 国产精品香蕉国产| 在线日韩精品视频| 国产精品网站视频| 精品久久久久久久久国产字幕| 日韩免费电影在线观看| 亚洲一区二区中文| 亚洲人成网在线播放| 精品久久久久久久大神国产| 日韩在线精品一区| www.欧美精品| 日韩av一区二区在线| 美日韩精品免费观看视频| 国产精品自产拍在线观看| 日韩av片电影专区| 亚洲bt欧美bt日本bt| 亚洲a∨日韩av高清在线观看| 欧美一区二区三区免费观看| 久久视频这里只有精品| 欧美视频13p| 日韩av在线播放资源| 午夜精品福利在线观看| 国产在线精品自拍| 81精品国产乱码久久久久久| 成人欧美一区二区三区黑人孕妇| www.日韩.com| 精品久久久免费| 亚洲国产精品一区二区三区| 国产成人精品日本亚洲专区61| 国产精品96久久久久久| 欧美日本啪啪无遮挡网站| 91精品视频免费观看| 国产精品久久久久久久电影| 亚洲精品wwwww| 国产一区二区美女视频| 九九久久国产精品| 日韩高清有码在线| 亚洲国产成人精品久久| 成人性教育视频在线观看| 欧美日韩一区二区免费视频| 亚洲第一级黄色片| 在线观看国产精品91| 最近中文字幕2019免费| 插插插亚洲综合网| 久久久久久久网站| 国产91精品久久久久久| 国产精品视频免费在线观看| 成人黄色在线观看| 少妇高潮 亚洲精品| 国产黑人绿帽在线第一区| 亚洲毛片在线观看.| 精品高清美女精品国产区| 精品亚洲男同gayvideo网站| 日韩免费电影在线观看| 欧美日韩免费网站| 欧美日韩精品在线视频| 久久久97精品| 中文字幕一精品亚洲无线一区| 日韩在线观看免费全集电视剧网站| 日韩色av导航| 欧美激情乱人伦| 国产精品国模在线| 欧美xxxx做受欧美| 欧美日韩视频在线| 国产精品大片wwwwww| 日日骚久久av| 欧美中文字幕视频| 日本精品久久久久影院| 日韩av网站电影| 亚洲一区二区黄| 色黄久久久久久| 欧美激情亚洲激情| 国产欧美日韩最新| 久久综合亚洲社区| 4438全国成人免费| 中文日韩电影网站| 国产91精品久久久久久久| 亚洲天堂开心观看| 亚洲伊人久久综合| 国产丝袜一区视频在线观看| 亚洲热线99精品视频| 2020国产精品视频| 日本免费久久高清视频| 日韩在线免费观看视频| 一区二区三区四区精品| 91精品久久久久久久久久另类| 一区二区三区视频观看| 精品亚洲一区二区三区| 一级做a爰片久久毛片美女图片| 亚洲а∨天堂久久精品9966| 亚洲国产成人精品久久| 福利二区91精品bt7086| 欧美体内谢she精2性欧美| 国产精品自产拍在线观看中文| 九九精品视频在线观看| 18性欧美xxxⅹ性满足| 久久久999国产| 欧美精品激情blacked18| 51ⅴ精品国产91久久久久久| 久久久国产91| 国产精品视频地址|