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