Sobes.tech
Junior
102
questionbank

Какие основные два вида реализации паттерна Singleton вы знаете?

Ответ от нейросети

sobes.tech AI

  1. Ленивая инициализация (Lazy initialization): Создание экземпляра происходит при первом обращении к методу getInstance().

    public class LazySingleton {
    
        private static LazySingleton instance;
    
        private LazySingleton() {}
    
        public static LazySingleton getInstance() {
            if (instance == null) {
                instance = new LazySingleton();
            }
            return instance;
        }
    }
    
  2. Жадная инициализация (Eager initialization): Экземпляр создается во время загрузки класса.

    public class EagerSingleton {
    
        private static final EagerSingleton INSTANCE = new EagerSingleton();
    
        private EagerSingleton() {}
    
        public static EagerSingleton getInstance() {
            return INSTANCE;
        }
    }