Какие типы ссылок в Java ты знаешь?
Ответ от нейросети
sobes.tech AI
В Java существуют следующие типы ссылок, которые управляют временем жизни объектов и их сборкой мусора:
-
Strong Reference (сильная ссылка) — обычная ссылка, которая предотвращает сборку объекта. Пока есть сильные ссылки, объект не будет удалён.
-
Soft Reference (мягкая ссылка) — используется для кэширования. Объекты с мягкими ссылками будут удалены сборщиком мусора только при нехватке памяти.
-
Weak Reference (слабая ссылка) — объект с такими ссылками может быть удалён при следующем цикле сборки мусора, даже если слабые ссылки ещё существуют.
-
Phantom Reference (фантомная ссылка) — используется для отслеживания момента, когда объект уже готов к удалению, но ещё не удалён. Позволяет выполнять дополнительные действия после финализации объекта.
Пример создания слабой ссылки:
Object obj = new Object();
WeakReference<Object> weakRef = new WeakReference<>(obj);
obj = null; // теперь объект доступен только через слабую ссылку
Эти типы ссылок помогают управлять памятью и оптимизировать работу с объектами, особенно в кэшах и системах с ограниченными ресурсами.