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

Как решить проблему 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 cache = new ArrayList<>(); void addToCache(Object obj) { cache.add(obj); // Утечка! } ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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