飢えのシングルトンデザインパターンと怠惰式の式

シングルトン:

    全体のソフトウェアシステムは、クラスのことを確実にするために特定の方法を取るだけオブジェクト・インスタンスが存在します

               ウェイズ:怠惰なスタイルと中国のスタイル、そしてそう空腹   

レイジースタイルとの違いの飢えタイプ:

          短所賛否

    飢えタイプ:メモリ内の長すぎるため、スレッドセーフな負荷

    レイジータイプ:スレッドセーフでは、オブジェクトを作成するために拡張します        

クラス注文{ 
プライベート文字列名;

//私有化构造函数
プライベートオーダー(){

}

プライベート静的注文インスタンス= NULL;

パブリック静的オーダーのgetInstance(){
IF(例えば== NULL){
インスタンス=新しい注文();
}
インスタンスを返します。
}

パブリック文字列のgetName(){
戻り名。
}

公共ボイドのsetName(文字列名){
this.name =名。
}
}

publicクラスSingle002 {
パブリック静的無効メイン(文字列[] args){
オーダーO1 = Order.getInstance()。
注文O2 = Order.getInstance();
System.out.println(O1 == O 2)。
System.out.println( "################");
o1.setName( "リージ");
System.out.println(o2.getName())。
}
}
饿汉式
銀行{クラス
のパブリック文字列のgetName(){
リターン名;
}

パブリック無効のsetName(文字列名){
this.name =名;
}

プライベート文字列名;

//コンストラクタ民営
プライベート・バンク(){

}

//静的内部オブジェクトを作成します
=新しい新しいインスタンス静的銀行プライベート・バンク();

//パブリック静的メソッド戻りクラスオブジェクト
パブリック静的銀行のgetInstanceを(){
戻りインスタンス;
}
}

publicクラスSingle001 {
パブリック静的無効メイン(文字列[] args){
銀行B = Bank.getInstance();
銀行Bank.getInstance B1 =();
System.out.printlnは(B == B1)。
System.out.println( "*****************");
b.setName( "zhangsan");
System.out.println(b1.getName())。
}
}

------------ ------------復元コンテンツが始まります

シングルトン:

    全体のソフトウェアシステムは、クラスのことを確実にするために特定の方法を取るだけオブジェクト・インスタンスが存在します

               ウェイズ:怠惰なスタイルと中国のスタイル、そしてそう空腹   

レイジースタイル     

クラス注文{ 
プライベート文字列名;

//私有化构造函数
プライベートオーダー(){

}

プライベート静的注文インスタンス= NULL;

パブリック静的オーダーのgetInstance(){
IF(例えば== NULL){
インスタンス=新しい注文();
}
インスタンスを返します。
}

パブリック文字列のgetName(){
戻り名。
}

公共ボイドのsetName(文字列名){
this.name =名。
}
}

publicクラスSingle002 {
パブリック静的無効メイン(文字列[] args){
オーダーO1 = Order.getInstance()。
注文O2 = Order.getInstance();
System.out.println(O1 == O 2)。
System.out.println( "################");
o1.setName( "リージ");
System.out.println(o2.getName())。
}
}
饿汉式
銀行{クラス
のパブリック文字列のgetName(){
リターン名;
}

パブリック無効のsetName(文字列名){
this.name =名;
}

プライベート文字列名;

//コンストラクタ民営
プライベート・バンク(){

}

//静的内部オブジェクトを作成します
=新しい新しいインスタンス静的銀行プライベート・バンク();

//パブリック静的メソッド戻りクラスオブジェクト
パブリック静的銀行のgetInstanceを(){
戻りインスタンス;
}
}

publicクラスSingle001 {
パブリック静的無効メイン(文字列[] args){
銀行B = Bank.getInstance();
銀行Bank.getInstance B1 =();
System.out.printlnは(B == B1)。
System.out.println( "*****************");
b.setName( "zhangsan");
System.out.println(b1.getName())。
}
}

エンド------------ ------------コンテンツを復元

おすすめ

転載: www.cnblogs.com/kukai/p/12524772.html