Sobes.tech
Junior — Middle

Explica qué es una referencia débil y en qué casos se utiliza en programación.

sobes.tech AI

Respuesta de la IA

Слабая ссылка (weak reference) — это ссылка на объект, которая не препятствует его сборке мусора. Если на объект существуют только слабые ссылки, сборщик мусора может освободить память, занятую этим объектом.

Используется в случаях, когда нужно хранить ссылку на объект, но не препятствовать его удалению, например:

  • Кэширование объектов, чтобы не удерживать их в памяти дольше, чем нужно.
  • Ссылки на слушателей или обработчики событий, чтобы избежать утечек памяти.

В Java слабые ссылки реализуются через класс WeakReference из пакета java.lang.ref.

Пример:

WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
// Если больше нет сильных ссылок на MyObject, объект может быть собран сборщиком мусора