Sobes.tech
Junior — Middle
117

Comment peut-on provoquer une erreur OutOfMemoryError en Java si le système a épuisé la mémoire disponible?

Entreprises à qui on a demandé
СБЕР дейвайсыСБЕР дейвайсы

Réponse de l'IA

sobes.tech IA

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