Sobes.tech
Назад к вопросам
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. В реальных условиях эта ошибка может возникать при неправильном управлении памятью, например, при утечках памяти или слишком больших объемах данных.