1. Одноэлементная модель в голодном стиле
(1) Концепция одноэлементного шаблона в голодном стиле
Шаблон синглтона в стиле Hungry инициализируется сразу же при загрузке класса и создании одноэлементного объекта . Он абсолютно потокобезопасен . Он создается до появления потока. Нет проблем с безопасностью доступа.
(2) Реализация кода
public class HungrySingleton {
private static final HungrySingleton hungrySingleton = new HungrySingleton();
private HungrySingleton(){
}
public static HungrySingleton getInstance(){
return hungrySingleton;
}
}
(3) Преимущества и недостатки
- Достоинства: высокая эффективность исполнения, высокая производительность, отсутствие блокировок.
- Недостатки: в некоторых случаях это может привести к потере памяти, разрушению отражений и разрушению сериализации одиночных элементов.
(4)Сценарии использования
- Шаблон синглтона в стиле Hungry подходит для ситуаций, когда имеется мало одноэлементных объектов. Написание таким способом может обеспечить абсолютную потокобезопасность и относительно высокую эффективность выполнения.
- Но его недостаток также очевиден, то есть все классы объектов создаются при загрузке.Если в системе большое количество одноэлементных объектов, инициализация системы приведет к большой потере памяти.