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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

В 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
// при сборке мусора объект может быть удалён

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее