열거 형 싱글 톤에 대해 궁금 해서요. 성능입니다.싱글 톤 열거 형 성능
우리가 멀티 스레드 환경을 가지면 인스턴스가 생성 될 때 순간을 동기화해야합니다. 그것은 게으른 구현의
public synchronized Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
이 나를 위해 좋은 :
간단하게, 우리는 그와 같은 예를 Somethink를 작성의 getInstance 호출 된 함수()에 대한 모드를 동기화 할 수 있습니다. 그러나 동기화 된 방법은 느립니다. 더블 로킹을 사용하면 더 빠르게 할 수 있습니다.
enum은 어떻습니까? 싱글 톤을 enum으로 구현하면 singleton 인스턴스가 처음 사용할 때 만들어집니다. 다음으로 현재 인스턴스를 사용합니다.
어떻게 작동합니까? 기존 인스턴스를 가져 오려면 느린 암시 적 동기화 메서드가 있습니까? 아니면 이중 잠금이 구현되어 있습니까?
클래스가 * 초기화 될 때'enum' 상수가 생성됩니다. 'instance' 필드와 정확히 같습니다. 초기화 시간 [정확히 지정] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.4.1). "처음 사용할 때"로 요약 할 수 있습니다 ... – Holger