Sobes.tech
Junior — Middle

Чӣ гуна метавон хато OutOfMemoryError-ро дар Java дар ҳолате, ки систем ёдгори дастрасро тамом кардааст, ба вуҷуд овард?

sobes.tech AI

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