Sobes.tech
Назад к вопросам
Senior
5

Какие типы ссылок в Java ты знаешь?

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

В Java существуют следующие типы ссылок, которые управляют временем жизни объектов и их сборкой мусора:

  1. Strong Reference (сильная ссылка) — обычная ссылка, которая предотвращает сборку объекта. Пока есть сильные ссылки, объект не будет удалён.

  2. Soft Reference (мягкая ссылка) — используется для кэширования. Объекты с мягкими ссылками будут удалены сборщиком мусора только при нехватке памяти.

  3. Weak Reference (слабая ссылка) — объект с такими ссылками может быть удалён при следующем цикле сборки мусора, даже если слабые ссылки ещё существуют.

  4. Phantom Reference (фантомная ссылка) — используется для отслеживания момента, когда объект уже готов к удалению, но ещё не удалён. Позволяет выполнять дополнительные действия после финализации объекта.

Пример создания слабой ссылки:

Object obj = new Object();
WeakReference<Object> weakRef = new WeakReference<>(obj);
obj = null; // теперь объект доступен только через слабую ссылку

Эти типы ссылок помогают управлять памятью и оптимизировать работу с объектами, особенно в кэшах и системах с ограниченными ресурсами.