1. 배고픈 스타일의 싱글톤 모델
(1) Hungry-style 싱글턴 패턴 개념
Hungry 스타일 싱글톤 패턴은 클래스가 로드되고 싱글톤 객체가 생성되는 즉시 초기화됩니다 . 스레드로부터 절대적으로 안전하며 스레드가 나타나기 전에 인스턴스화되며 액세스 보안 문제가 없습니다.
(2) 코드 구현
public class HungrySingleton {
private static final HungrySingleton hungrySingleton = new HungrySingleton();
private HungrySingleton(){
}
public static HungrySingleton getInstance(){
return hungrySingleton;
}
}
(3) 장점과 단점
- 장점: 높은 실행 효율성, 고성능, 잠금 없음
- 단점: 경우에 따라 메모리 낭비, 반사 파괴, 싱글톤 직렬화 파괴가 발생할 수 있습니다.
(4)사용 시나리오
- Hungry 스타일 싱글톤 패턴은 싱글톤 개체가 거의 없는 상황에 적합합니다. 이런 방식으로 작성하면 절대적인 스레드 안전성과 상대적으로 높은 실행 효율성을 보장할 수 있습니다.
- 그러나 모든 객체 클래스가 로드될 때 인스턴스화된다는 단점도 있으며, 시스템에 싱글톤 객체가 많은 경우 시스템 초기화로 인해 많은 메모리 낭비가 발생합니다.