Sobes.tech
Junior — Middle

Co se rozumí odloženou inicializací objektů v programování a jak se realizuje?

sobes.tech AI

Odpověď od 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. Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.

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