>Java >java지도 시간 >게으른 스타일과 배고픈 스타일에 대한 Java의 싱글톤 패턴에 대한 자세한 분석

게으른 스타일과 배고픈 스타일에 대한 Java의 싱글톤 패턴에 대한 자세한 분석

黄舟
黄舟원래의
2017-07-21 16:09:101599검색

이 글은 주로 자바 싱글톤 모드 관련 정보를 소개합니다. 다음은 게으른 중국 스타일과 배고픈 중국 스타일의 예입니다. 필요한 친구는 참고할 수 있습니다.

자바 싱글톤 모드

싱글톤 모드는 일반적으로 사용되는 소프트웨어입니다. 디자인 패턴. 신뢰할 수 있는 구조에 인스턴스화된 싱글톤을 하나만 포함하는 특수 클래스입니다. 싱글톤 디자인 패턴을 통해 전체 시스템의 클래스는 하나의 인스턴스만 가질 수 있습니다.

싱글턴 디자인 패턴은 게으른 스타일과 배고픈 스타일의 두 가지 방식으로 나뉩니다.

(1) 게으른 스타일, 즉 이 싱글톤은 getInstance가 호출될 때만 초기화됩니다.

(2) Hungry Chinese 스타일, 즉 클래스가 로드되면 싱글톤 초기화가 완료됩니다. 즉, 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의 싱글톤 패턴에 대한 자세한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.