Назад к вопросам
СБЕР дейвайсы
Junior — Middle
69
Каким образом можно вызвать ошибку OutOfMemoryError в Java, если система исчерпала доступную память?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Ошибка OutOfMemoryError в Java возникает, когда JVM не может выделить память для новых объектов, так как вся доступная heap-память уже занята. Чтобы вызвать эту ошибку искусственно, можно написать программу, которая непрерывно создает объекты и сохраняет ссылки на них, не давая сборщику мусора освободить память. Например:
import java.util.ArrayList;
import java.util.List;
public class OutOfMemoryDemo {
public static void main(String[] args) {
List<int[]> list = new ArrayList<>();
while (true) {
// Добавляем большие массивы в список, чтобы заполнить память
list.add(new int[1_000_000]);
}
}
}
Запуск такого кода приведет к исчерпанию heap-памяти и выбросу java.lang.OutOfMemoryError. В реальных условиях эта ошибка может возникать при неправильном управлении памятью, например, при утечках памяти или слишком больших объемах данных.