Sobes.tech
Junior — Middle
151

Kodunuzda nesnelerin ertelenmiş başlatılmasını nasıl uygulayabilirsiniz?

Sorulan şirketler
СБЕР дейвайсыСБЕР дейвайсы

AI'dan gelen yanıt

sobes.tech yapay zeka

Отложенная инициализация (lazy initialization) в Java применяется для создания объекта только в момент его первого использования, а не при загрузке класса или создании родительского объекта. Это позволяет экономить ресурсы и ускорять старт программы.

Пример реализации с использованием ленивой инициализации и паттерна Singleton:

public class LazySingleton {
    private static LazySingleton instance;

    private LazySingleton() {
        // приватный конструктор
    }

    public static LazySingleton getInstance() {
        if (instance == null) {
            instance = new LazySingleton();
        }
        return instance;
    }
}

Также в Java 8+ можно использовать класс java.util.function.Supplier или Optional для ленивой инициализации, либо использовать Lazy<T> из сторонних библиотек.

В многопоточной среде стоит применять синхронизацию или использовать volatile для корректной ленивой инициализации.