Sobes.tech
Junior — Middle
102

Бағдарламалауда объектілердің кейінге қалдырылған инициализациясы дегеніміз не және ол қалай жүзеге асырылады?

Сұралған компаниялар
ВТБВТБ

AI-дан жауап

sobes.tech AI

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

В Java это можно реализовать несколькими способами:

  1. Использовать ключевое слово lazy нет, но можно реализовать через проверку null и инициализацию при первом вызове.

Пример:

public class MyClass {
    private ExpensiveObject obj;

    public ExpensiveObject getObj() {
        if (obj == null) {
            obj = new ExpensiveObject();
        }
        return obj;
    }
}
  1. Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.

Отложенная инициализация полезна, когда создание объекта дорогостоящее и не всегда требуется.