Back to questions
Junior — Middle
70
В какой момент происходит создание экземпляра Singleton-шаблона?
Answer from AI
sobes.tech AI
Создание экземпляра Singleton-шаблона происходит в момент первого обращения к этому экземпляру, если используется ленивый (lazy) способ инициализации.
То есть, объект создаётся при первом вызове метода, который возвращает экземпляр Singleton, например, getInstance(). Это позволяет отложить создание объекта до момента необходимости, экономя ресурсы.
Пример ленивой инициализации Singleton в Android/Java:
public class Singleton {
private static Singleton instance;
private Singleton() {
// приватный конструктор
}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
Если же используется инициализация при загрузке класса (eager initialization), то экземпляр создаётся сразу при загрузке класса, до первого обращения.