2つのシングルトン--java Javaベースのメモリ

/ *      
 * Javaはメモリ実行:
 各オブジェクトは、それに対応するクラスに関する情報が含まれ、すべての記憶されたオブジェクト:*ヒープ(ヒープ)を
 すべてのスレッドで共有*唯一のヒープを、ヒープは、オブジェクトと基本データ型を格納しません参照、唯一のオブジェクト自体が入れ
 *スタック:各スレッドはそれ自身のスタック(スタックユーザモード)、記憶されたオブジェクトおよびカスタム参照オブジェクトの基本データ・タイプのスタック、ヒープ領域に、この基準点の例持つ
 *面積法を(静的領域):すべてのクラスと静的変数を含むすべてのスレッドで共有
 クラス、静的変数こと、永遠にプロセス全体の要素のみを含む* 
 * 
 * 
 静的として決定するための方法、特性を決定する方法を* 
 とすることができる:属性*複数のオブジェクトを別のオブジェクトとは異なるではなく、共有
 *方法:操作静的プロパティの方法は、
 クラス*方法論ツール、それは静的として慣用宣言されている、など:.数学、アレイ、コレクション
 * * /

シングルトン

/ * 
 *シングルトン
 *比較:
 *飢えタイプ:
 *利点:スレッドセーフ
 *短所:負荷に長い時間     
 :*怠惰なタイプ
 *利点:遅延が作成
 *短所:スレッドセーフに、作成された同時オブジェクトがある
 * 
 *単一の共通は、例のシーンモード:
 *ウェブサイトカウンタアプリケーションログアプリケーション、データベース接続プール、構成ファイルのクラスを読ん
 *アプリケーション、タスクマネージャ、ごみ箱
 * * /

それは新しいクラスがロードされたときに、タイプを飢え

/ * 
 * 1.式飢え:新しいスタートを
 * * / 
クラス銀行{
     // 1民営コンストラクタ
    プライベート・バンク(){} 
    
    // 静的オブジェクトクラスが2内に作成される
    プライベート 静的バンクインスタンス= 新しいですバンク(); 
    
    // パブリック静的メソッドを提供3.、クラスオブジェクト戻り
    パブリック 静的バンクのgetInstanceを(){
         戻りインスタンス; 
    } 
}

レイジースタイル

/ * 
 * 2.怠惰なタイプ:何時間するときに再使用する
 * * / 
クラス注文{
     // 1.民営コンストラクタ
    プライベート注文(){} 
    
    // 2.現在のクラスの静的オブジェクトを宣言が初期化されていない
    プライベート 静的注文を=インスタンスNULL ; 
    
    // 戻りクラスオブジェクト3ステートメントパブリック静的方法
    パブリック 静的オーダーのgetInstance(){
         IF(例えば== NULL 
            インスタンス = 新しい新規注文();
         戻りインスタンス; 
    } 

}

おすすめ

転載: www.cnblogs.com/zsben991126/p/12148167.html