디자인 모드 독서 노트 의 단일 예 모드 (Singleton)

단일 모드: 하나의 클래스 에 하나의 인 스 턴 스 만 있 고 전체적인 방문 경 로 를 제공 합 니 다.
package designpattern.singleton;
public class Singleton {
	private static Singleton instance;
	private Singleton(){}
	public static Singleton getInstance(){
		if(instance==null){
			instance = new Singleton();
		}
		return instance;
	}
}

특징:
1. 이 종 류 는 자신 만 의 유일한 인 스 턴 스 를 저장 하 는 것 을 책임 집 니 다.
2. 이러한 구조 방법 은 사유 로 외부 에서 구조 방법 을 사용 하여 예화 할 수 없 도록 한다.
그러나 여러 스 레 드 가 getInstance 에 동시에 접근 하면 여러 개의 인 스 턴 스 를 만 들 수 있 습 니 다.개선: JDK 5 또는 이후 버 전에 서 스 레 드 의 보이 기 쉬 운 문제 로 두 번 째 방법 은 정적 구성원 변수 에 volatile 키 워드 를 추가 해 야 합 니 다.JDK 5 이전 버 전에 서 는 이중 잠 금 이 잘못 되 어 여러 개의 인 스 턴 스 가 생 길 수 있 습 니 다.
package designpattern.singleton;
public class Singleton {
	private static Singleton instance;
	private Singleton(){}
	public static Singleton getInstance(){
		if(instance==null){
			synchronized(Singleton.class){
				if(instance==null){
					instance = new Singleton();
				}
			}
		}
		return instance;
	}
}

좋은 웹페이지 즐겨찾기