Maison >Java >javaDidacticiel >Analyse détaillée du modèle singleton en Java sur le style paresseux et le style affamé

Analyse détaillée du modèle singleton en Java sur le style paresseux et le style affamé

黄舟
黄舟original
2017-07-21 16:09:101599parcourir

Cet article présente principalement les informations pertinentes sur le mode java singleton. Voici des exemples de style chinois paresseux et de style chinois affamé. Les amis dans le besoin peuvent se référer au

mode java singleton

Le modèle singleton est un modèle de conception de logiciels couramment utilisé. Classe spéciale qui contient un seul singleton instancié dans sa structure approuvée. Grâce au modèle de conception singleton, une classe dans l’ensemble du système ne peut avoir qu’une seule instance.

Le modèle de conception singleton est divisé en deux manières, le style paresseux et le style affamé.


(1) Style paresseux, c'est-à-dire que ce singleton ne sera initialisé que lorsque getInstance sera appelé.


(2) Style chinois affamé, c'est-à-dire qu'une fois la classe chargée, le singleton est initialisé. Autrement dit, lorsque getInstance est appelé, le singleton existe déjà.

Le code est le suivant :

Lazy 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;
  }

}

Singleton chinois affamé


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn