Sobes.tech
Junior — Middle

¿Qué se entiende por inicialización diferida de objetos en programación y cómo se implementa?

sobes.tech AI

Respuesta de la IA

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

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

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

Пример:

public class MyClass {
    private ExpensiveObject obj;

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

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