Sobes.tech
Junior — Middle
109

¿Cómo se puede provocar un error OutOfMemoryError en Java si el sistema ha agotado la memoria disponible?

Empresas donde se preguntó
СБЕР дейвайсыСБЕР дейвайсы

Respuesta de la IA

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