Ответ
Сильная ссылка (Strong Reference) — это обычный, стандартный тип ссылки на объект в Java. Объект, на который существует хотя бы одна сильная ссылка, не может быть удален сборщиком мусора (Garbage Collector, GC).
Особенности и использование:
- Жизненный цикл: Объект живет в куче до тех пор, пока на него указывает сильная ссылка (или пока все такие ссылки не выйдут из области видимости или не будут переприсвоены).
- Создание: Любое создание объекта через
newи присваивание его переменной создает сильную ссылку. - Назначение: Используется по умолчанию для хранения основных данных приложения, которые должны быть доступны всё время их использования.
Пример:
// Создание сильной ссылки 'obj' на новый объект Object
Object obj = new Object();
// Пока 'obj' ссылается на объект, GC его не тронет
System.out.println(obj.toString());
// Присвоение null удаляет сильную ссылку.
// Если других сильных ссылок на объект нет, он становится кандидатом на удаление GC.
obj = null;
Контекст других ссылок: Сильные ссылки противопоставляются специальным «слабым» ссылкам, которые не защищают объект от GC:
SoftReference(Мягкая ссылка): Объект будет удален только при нехватке памяти.WeakReference(Слабая ссылка): Объект удаляется при следующем цикле GC.PhantomReference(Фантомная ссылка): Используется для финализации и отслеживания удаления.
Сильные ссылки — основа управления памятью в Java, гарантирующая предсказуемое время жизни объектов.