Sobes.tech
Junior — Middle

Objasnite šta je slaba referenca i u kojim slučajevima se koristi u programiranju.

sobes.tech АИ

Одговор од АИ

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

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

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

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

Пример:

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