클래스 로딩과 동시에 싱글톤 인스턴스를 만드는 방법도 있습니다(코드 4-3). JVM이 클래스 로딩을 마치고 나면(getInstance() 호출 전에) 싱글톤 인스턴스가 알아서 만들어지기 때문에 따로 동기화할 필요가 없습니다. 정적 멤버/블록은 클래스 로딩 시 실행되니까요.
코드 4-3 클래스 로딩 시 싱글톤 객체를 생성
package com.devchronicles.singleton; public class MySingleton { private final static MySingleton instance = new MySingleton(); private MySingleton() {} public static MySingleton getInstance() { return instance; } }