ホームページ  >  記事  >  Java  >  Javaのシングルトンパターンのlazyスタイルとhungryスタイルについての詳細な分析

Javaのシングルトンパターンのlazyスタイルとhungryスタイルについての詳細な分析

黄舟
黄舟オリジナル
2017-07-21 16:09:101559ブラウズ

この記事では主に Java シングルトン モードの関連情報を紹介します。怠惰な中華スタイルと空腹の中華スタイルの例を示します。必要な方は参考にしてください。

Java シングルトン モード

シングルトン モードは、一般的に使用されるソフトウェアです。デザインパターン。信頼された構造内にインスタンス化されたシングルトンを 1 つだけ含む特別なクラス。シングルトン設計パターンでは、システム全体のクラスはインスタンスを 1 つだけ持つことができます。

シングルトンのデザインパターンは、怠惰なスタイルとハングリーなスタイルの 2 つの方法に分かれています。

(1) 遅延スタイル、つまり、このシングルトンは getInstance が呼び出されたときにのみ初期化されます。

(2) ハングリーチャイニーズスタイル、つまり、クラスがロードされると、シングルトンの初期化が完了します。つまり、getInstance が呼び出された時点では、シングルトンはすでに存在しています。

コードは次のとおりです:

Lazy Chinese style singleton


/**
 * Description:
 * 一、设计了一个懒汉式单例
 * 
 * @author lee
 * */
public class SingleMode {

  public static SingleMode s = null;
  /**
   * Description:
   * 私有化构造函数
   * 
   * */
  private SingleMode(){} 

  /**
   * Description:
   * 提供一个方法来获取该单例
   * 
   * @return s 返回一个单例
   * */
  public static SingleMode getInstance(){

    //保证了线程安全,又减轻了资源加载和性能上的负担
    //即是在创建一次对象后,不再需要线程锁了。
    if(s==null){
      synchronized(""){
        if(s==null){
          s = new SingleMode();
        }
      }
    }

    return s;
  }

}

Hungry Chinese style singleton


/**
 * Description:
 * 二、设计了一个饿汉式单例
 * 
 * @author lee
 * */
class SingleMode1{
  public static final SingleMode1 s = new SingleMode1();

  /**
   * Description:
   * 私有化构造函数
   * 
   * */
  private SingleMode1(){}

  /**
   * Description:
   * 提供一个方法来获取该单例
   * 
   * @return s 返回一个单例
   * */
  public static SingleMode1 getInstance(){
    return s;
  }

}

以上がJavaのシングルトンパターンのlazyスタイルとhungryスタイルについての詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。