怠惰な式のシングルトンデザインパターン(スレッドセーフ)

以下のためのパッケージ変更com.waibizi.demo04; 


/ ** 
 スレッドセーフの書き込み*怠惰なスタイル
 *長所:スレッドセーフの問題解決
 *短所:あまりにも非効率的な、そして時に実行のgetInstance(クラスの各スレッドインスタンスで取得したいです)同期方法が実施されるべきであるが、実際には、この方法は、それだけでインスタンス化コード、バッククラスのインスタンスが欲しい取得する時間後に実行される
 *への直接リターン
 *結論:実際の開発では、このようなアプローチをお勧めしません
 * @著者曲がった鼻
 * 
 * / 
パブリック クラスSingleton_pattern { 

    公共 静的 ボイドメイン(文字列[]引数){
         // TODO自動生成されたメソッドスタブ 
        シングルトンテスト= Singleton.getInstance(); 
        シングルトンTEST1 = Singleton.getInstance(); 
        のSystem.out .println(test.hashCode())。
        System.out.println(test1.hashCode()); 

    } 

} 
@SuppressWarnings(「すべて」クラスシングルトン{
     プライベート 静的シングルトンインスタンス;
     プライベートシングルトンは、(){ 
        
    } 
    
    // この方法を使用する場合、パブリック静的メソッドを提供しますインスタンスを作成するために行く前に
     、// その怠惰な人間の負荷(スレッドセーフ)
    パブリック 静的 同期シングルトンのgetInstance(){
         IF(インスタンス== nullの){ 
            System.out.printlnは(「私はああ、この時間を初期化」); 
            インスタンス = 新しい新しいシングルトン(); 
        } 
        戻りインスタンス; 
    } 
}

おすすめ

転載: www.cnblogs.com/waibizi/p/12079849.html