자바 디자인 모델 중 하나: 단일 모드
6889 단어 디자인 모드
디자인 모델 은 선인 들 이 실제 개발 과정 에서 총 결 한 개발 방식 이다.본 시리즈 의 글 부터 자바 의 23 가지 디자인 모델 을 소개 한다.모든 디자인 모델 의 소 개 는 대응 하 는 코드 를 보조 설명 으로 한다.
단일 모드 란 이 클래스 만 만 만 들 수 있 는 유일한 인 스 턴 스 입 니 다.많은 상황 에서 전체 플랫폼 은 하나의 전체적인 대상 만 가지 면 우리 가 플랫폼 의 전체적인 행 위 를 조율 하 는 데 유리 하 다.예 를 들 어 배경 프로그램 에서 이 서버 의 설정 정 보 는 하나의 파일 에 저장 되 어 있 습 니 다. 이 설정 데 이 터 는 하나의 단일 대상 에서 통일 적 으로 읽 은 다음 에 서비스 프로 세 스 의 다른 대상 은 이 단일 대상 을 통 해 이 설정 정 보 를 얻 습 니 다.이런 방식 은 복잡 한 환경 에서 의 배치 관 리 를 간소화 하고 배치 데 이 터 를 통일 적 으로 통합 하 는 데 유리 하 다.
2. 단일 모드 는 어떻게 써 야 합 니까?
(1) 게으름뱅이 식
public class Singleton {
private Singleton() {}
private static Singleton single = null;
public static Singleton getInstance() {
// ,
if (null == single) {
single = new Singleton();
}
return single;
}
}
(2) 굶 주 림 식: 굶 주 림 식 이란 클래스 로 불 러 올 때 인 스 턴 스 를 만 듭 니 다. 사용자 가 현재 필요 하 든 안 하 든 간 에.클래스 로 딩 하 는 과정 은 클래스 로 더
(ClassLoader)
에 의 해 실 행 됩 니 다. 이 과정 은 JVM
에 의 해 동기 화 되 기 때문에 타고 난 스 레 드 가 안전 합 니 다.public class Singleton {
//
private static final Singleton Singleton = new Singleton();
//
private Singleton (){};
private static Singleton getInstance() {
return Singleton;
}
}
(3) 포만 모드 (게으름뱅이 모드) – 이중 잠 금 검사 DCL (Double Check Lock)
public class Singleton {
private volatile static Singleton instance = null;
//
private Singleton(){}
public static Singleton getInstance(){
//1、
if(instance == null){
// ,
synchronized(Singleton.class){
//2、 ,
if(instance == null){
instance = new Singleton();
}
}
}
return instance;
}
}
3. 총화
단일 사례 모델 은 여러 가지 기법 이 있 기 때문에 수요 와 장면 에 따라 적당 한 선택 을 할 수 있다.다음 사례 모델 의 장단 점 을 정리 하 다.장점: 1. 메모리 의 대상 이 유일 하고 메모리 공간 을 절약 할 수 있 습 니 다.2. 빈번 한 창설 과 소각 대상 을 피하 고 성능 을 향상 시 킬 수 있다.3. 공유 자원 의 서로 다른 대상 에 대한 점용 을 피하 고 데 이 터 를 얻 는 경 로 를 최적화 한다.4. 전체 플랫폼 에 전체적인 방문 점 을 제공 합 니 다.단점: 1. 자주 변화 하 는 대상 에 게 적용 되 지 않 는 다.2. 단일 사례 를 남용 하면 일부 부정적인 문 제 를 가 져 올 것 이다. 예 를 들 어 자원 을 절약 하기 위해 데이터 베이스 연결 탱크 대상 을 디자인 한 단일 사례 류 는 공유 연결 탱크 대상 의 프로그램 이 너무 많아 서 연결 탱크 가 넘 칠 수 있다.3. 실례 화 된 대상 이 장시간 이용 되 지 않 으 면 시스템 은 해당 대상 이 쓰레기 라 고 생각 하여 회수 되 고 대상 상태의 손실 을 초래 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.