Назад к вопросам
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; // Теперь объект доступен для сборки мусора