Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чим лінивий Singleton відрізняється від жадібного?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Різниця між **лінивим (lazy)** і **жадібним (eager)** Singleton - у моменті створення екземпляра: жадібний створюється одразу під час завантаження класу, лінивий - лише при першому виклику `getInstance()`. **Ключове:** жадібний Singleton простіший і потокобезпечний, але може витрачати ресурси даремно; лінивий економніший, але вимагає додаткової синхронізації для потокобезпеки.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняРізниця між **лінивим (lazy)** і **жадібним (eager)** Singleton - у моменті створення екземпляра: ### Жадібний (Eager Initialization) Екземпляр створюється **одразу під час завантаження класу**, ще до першого звернення. ```java public class Singleton { private static final Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } } ``` **Плюси:** простота, потокобезпечність. **Мінуси:** об'єкт створюється навіть якщо ніколи не використовується (зайві ресурси). ### Лінивий (Lazy Initialization) Екземпляр створюється **лише при першому виклику** `getInstance()`. ```java public class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) instance = new Singleton(); return instance; } } ``` **Плюси:** ресурси витрачаються лише за потреби. **Мінуси:** вимагає додаткової синхронізації для потокобезпеки. **Підсумок:** Жадібний Singleton - швидший, але може витрачати ресурси даремно. Лінивий - економніший, але складніше реалізувати безпечно в багатопотоковості.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.