Встречается на собеседованиях • сегодня
В чем разница между Eager и Lazy Singleton
Eager Singleton создается при загрузке класса, что гарантирует его доступность, но может привести к избыточному использованию ресурсов, если экземпляр не используется.
Lazy Singleton создается только при первом вызове метода получения экземпляра, что экономит ресурсы, но требует синхронизации в многопоточной среде.
Eager Singleton:
java
public class EagerSingleton {
private static final EagerSingleton INSTANCE = new EagerSingleton();
private EagerSingleton() {}
public static EagerSingleton getInstance() {
return INSTANCE;
}
}Lazy Singleton (потокобезопасный):
java
public class LazySingleton {
private static volatile LazySingleton instance;
private LazySingleton() {}
public static LazySingleton getInstance() {
if (instance == null) {
synchronized (LazySingleton.class) {
if (instance == null) {
instance = new LazySingleton();
}
}
}
return instance;
}
}Eager проще, но менее гибок, Lazy эффективнее, но сложнее в реализации.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы