Java設計モードの一例モデル例詳細解【怠け者式と餓漢式】
本論文の例は、Java設計モードの単一の例のモードを説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
単一の例モードとは、外部からのアクセスのためにオブジェクトのインスタンスを生成することである。
その応用シーンはこのような大域での真資源の統一的な訪問が必要で、そうでないと混乱を招く場合、単独の例に設計する必要があります。
怠け者とは、このオブジェクトを使う時に、このオブジェクトが作成されているかどうかを確認します。作成されていないなら、すぐに作成します。作成されているなら、この例に戻ります。
餓漢式は、このクラスをロードする時にまずオブジェクトインスタンスを作成して呼び出しを待ちます。
両者の長所と短所も推測できます。怠け者式を使うと、反応速度は必ず餓漢式より遅くなります。
しかし、このオブジェクトが呼び出されなければ、cpuとメモリ資源は節約されます。
パターンは簡単で、以下に例を示します。
本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。
単一の例モードとは、外部からのアクセスのためにオブジェクトのインスタンスを生成することである。
その応用シーンはこのような大域での真資源の統一的な訪問が必要で、そうでないと混乱を招く場合、単独の例に設計する必要があります。
怠け者とは、このオブジェクトを使う時に、このオブジェクトが作成されているかどうかを確認します。作成されていないなら、すぐに作成します。作成されているなら、この例に戻ります。
餓漢式は、このクラスをロードする時にまずオブジェクトインスタンスを作成して呼び出しを待ちます。
両者の長所と短所も推測できます。怠け者式を使うと、反応速度は必ず餓漢式より遅くなります。
しかし、このオブジェクトが呼び出されなければ、cpuとメモリ資源は節約されます。
パターンは簡単で、以下に例を示します。
package org.test.design.single;
/**
* ,
* @author lushuaiyin
*
*/
public class Loon {
public static Loon loon=null;
public static Loon getInstance(){
if(loon==null){
loon=new Loon();
}
return loon;
}
}
package org.test.design.single;
/**
* ,
* @author lushuaiyin
*
*/
public class Hunger {
public static Hunger hunger=new Hunger();
public static Hunger getInstance(){
return hunger;
}
//
// public static Hunger hunger=null;
// static{
// if(hunger==null){
// hunger=new Hunger();
// }
// }
// public static Hunger getInstance(){
// return hunger;
// }
}
テスト
package org.test.design.single;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
// ,
Loon loon=Loon.getInstance();
System.out.println(loon==null);
// ,
Hunger hunger=Hunger.getInstance();
System.out.println(hunger==null);
}
}
もっと多くのjava関連の内容に興味がある読者は当駅のテーマを見ることができます。「Javaデータ構造とアルゴリズム教程」、「Java操作DOMノード技術のまとめ」、「Javaファイルとディレクトリの操作テクニックのまとめ」、「Javaキャッシュ操作テクニックのまとめ」本論文で述べたように、皆さんのjavaプログラムの設計に役に立ちます。