Sobes.tech
Назад к вопросам
Junior — Middle
61

Объясните, что такое слабая ссылка и в каких случаях она используется в программировании?

Ответ от нейросети

sobes.tech AI

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

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

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

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

Пример:

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