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

Можешь назвать виды ссылок, используемых в Java для управления объектами?

Компании, где спрашивали
DCloud
eRaga Infosystem

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

sobes.tech AI

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

  • Strong Reference (Сильная ссылка) — обычная ссылка на объект. Пока существует такая ссылка, объект не будет удалён.
  • Soft Reference (Мягкая ссылка) — объекты с такими ссылками удаляются только при нехватке памяти, полезны для кэширования.
  • Weak Reference (Слабая ссылка) — объекты с такими ссылками могут быть удалены при следующем цикле сборки мусора, даже если ссылка существует.
  • Phantom Reference (Фантомная ссылка) — используется для отслеживания момента, когда объект уже готов к удалению, но ещё не удалён. Позволяет выполнять дополнительные действия после удаления объекта.

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

import java.lang.ref.WeakReference;

Object obj = new Object();
WeakReference<Object> weakRef = new WeakReference<>(obj);
obj = null; // Теперь объект доступен для сборки мусора