Назад к вопросам
Junior — Middle
61
Объясните, что такое слабая ссылка и в каких случаях она используется в программировании?
Ответ от нейросети
sobes.tech AI
Слабая ссылка (weak reference) — это ссылка на объект, которая не препятствует его сборке мусора. Если на объект существуют только слабые ссылки, сборщик мусора может освободить память, занятую этим объектом.
Используется в случаях, когда нужно хранить ссылку на объект, но не препятствовать его удалению, например:
- Кэширование объектов, чтобы не удерживать их в памяти дольше, чем нужно.
- Ссылки на слушателей или обработчики событий, чтобы избежать утечек памяти.
В Java слабые ссылки реализуются через класс WeakReference из пакета java.lang.ref.
Пример:
WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
// Если больше нет сильных ссылок на MyObject, объект может быть собран сборщиком мусора