Назад к вопросам
Junior — Middle
76
Можете объяснить, что такое мягкая ссылка в контексте управления памятью в Java?
Компании, где спрашивали
Юрент
Ответ от нейросети
sobes.tech AI
Мягкая ссылка (SoftReference) в Java — это тип ссылки, который позволяет объекту быть собранным сборщиком мусора, если в системе недостаточно памяти, но при этом объект сохраняется, пока памяти достаточно.
Это полезно для кэширования: объекты с мягкими ссылками не удаляются сразу, а только при необходимости освободить память.
Пример использования мягкой ссылки:
import java.lang.ref.SoftReference;
public class SoftReferenceExample {
public static void main(String[] args) {
Object strongRef = new Object();
SoftReference<Object> softRef = new SoftReference<>(strongRef);
strongRef = null; // теперь объект доступен только через мягкую ссылку
Object obj = softRef.get();
if (obj != null) {
System.out.println("Объект доступен");
} else {
System.out.println("Объект уже собран сборщиком мусора");
}
}
}