Встречается на собеседованиях • сегодня

В каком случае возникает OutOfMemoryError

OutOfMemoryError возникает, когда JVM не может выделить память для новых объектов, и сборщик мусора не может освободить достаточно места. Основные причины: 1. **Heap memory exhaustion** - недостаточно памяти в куче для создания объекта ```java // Пример: бесконечный цикл создания объектов List list = new ArrayList<>(); while(true) { list.add(new Object()); } ``` 2. **PermGen/Metaspace overflow** - переполнение области метаданных классов (до Java 8 - PermGen, после - Metaspace) 3. **Native memory exhaustion** - исчерпание памяти вне кучи JVM (например, при работе с JNI) 4. **Array size limit** - попытка создать массив размером больше Integer.MAX_VALUE 5. **Thread stack overflow** - слишком много потоков или глубокая рекурсия Типичные решения: увеличение -Xmx, оптимизация кода, исправление утечек памяти.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы