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

Какие типы ссылок применяются в языке Java?

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

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

sobes.tech AI

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

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

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

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

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

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

WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
MyObject obj = weakRef.get();
if (obj != null) {
    // объект ещё доступен
} else {
    // объект уже собран сборщиком мусора
}