왜 매 거 실현 한 단 례 가 비교적 추앙 을 받 습 니까?어떤 좋 은 점 이 있 습 니까?

4.567917.1.매 거 진 사례 의 작성 방법 이 간단 하 다
public enum Singleton {  
    INSTANCE;  
    public void whateverMethod() {  
    }  
}  
 
4.567917.2.스 레 드 안전 문 제 를 해결 할 수 있 습 니 다.
  • (1)매 거 진 각 매 거 진 항목 은 static 을 통 해 정 의 된
  • (2)static 형식의 속성 은 클래스 가 불 러 온 후에 초기 화 됩 니 다
  • 4.567917.(3)자바 류 가 처음 사용 되 었 을 때 정적 자원 이 초기 화 되 고 자바 류 의 로드 와 초기 화 과정 은 모두 스 레 드 가 안전 합 니 다(가상 컴퓨터 가 매 거 진 클래스 를 불 러 올 때 ClassLoader 의 loadClass 방법 을 사용 하기 때문에 이 방법 은 동기 코드 블록 을 사용 하여 스 레 드 안전 을 보장 합 니 다).그래서 enum 형식 을 만 드 는 것 은 스 레 드 가 안전 합 니 다

    4.567917.3.반 직렬 화 는 하나의 문 제 를 파괴 할 수 있다.
    4.567917.(1)일반적인 자바 류 의 반 직렬 화 과정 에서 반사 호출 류 의 기본 구조 함 수 를 통 해 대상 을 초기 화 합 니 다4.567917.(2)직렬 화 할 때 자바 는 매 거 진 대상 의 name 속성 을 결과 에 출력 하 는 것 일 뿐,반 직렬 화 할 때 자바.lang.Enum 의 value Of 방법 으로 이름 에 따라 매 거 진 대상 을 찾 습 니 다.또한 컴 파일 러 는 이러한 직렬 화 체제 에 대한 맞 춤 형 제작 을 허용 하지 않 기 때문에 writeObject,readObject,readObject NoData,writeReplace 와 readResolve 등 방법 을 사용 하지 않 습 니 다

    참고:Hollis 매 거

    좋은 웹페이지 즐겨찾기