Sobes.tech
Назад к вопросам
Junior
10

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

Компании, где спрашивали
ИП Ганус Александр Андреевич

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

sobes.tech AI

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

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

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

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

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

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

import java.lang.ref.WeakReference;

String strong = new String("Hello");
WeakReference<String> weak = new WeakReference<>(strong);

strong = null; // теперь объект доступен только через weak
// при сборке мусора объект может быть удалён