Встречается на собеседованиях • сегодня
Как решить проблему OutOfMemoryError
OutOfMemoryError возникает, когда JVM не может выделить память для новых объектов. Основные причины и решения:
1. **Увеличить heap-память** через параметры JVM:
```java
-Xmx1024m -Xms512m
```
2. **Анализ утечек памяти** с помощью профилировщиков (VisualVM, YourKit, Eclipse MAT). Искать:
- Объекты, занимающие много памяти
- Неочищаемые коллекции
- Неправильные ссылки
3. **Оптимизировать код**:
- Использовать StringBuilder вместо конкатенации строк
- Очищать большие коллекции после использования
- Использовать WeakReference для кэшей
4. Для **метаданных классов** (OutOfMemoryError: Metaspace):
```java
-XX:MaxMetaspaceSize=256m
```
Пример утечки:
```java
// Плохо - статическая коллекция растет бесконечно
static List

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы