Sobes.tech
Junior — Middle
107

Wie kann man in Java einen OutOfMemoryError verursachen, wenn das System den verfügbaren Speicher aufgebraucht hat?

Unternehmen wurden gefragt
СБЕР дейвайсыСБЕР дейвайсы

Antwort von AI

sobes.tech KI

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