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

Какой опыт с настройками сборщика мусора

Настройка GC зависит от требований приложения. Для latency-sensitive приложений (например, торговых систем) выбирают G1 или ZGC. Для throughput-ориентированных - Parallel GC.

Основные параметры:

  • -Xmx/-Xms - максимальный и начальный размер heap
  • -XX:+UseG1GC - включение G1 сборщика
  • -XX:MaxGCPauseMillis - целевая пауза GC (например, -XX:MaxGCPauseMillis=200)

Пример для веб-приложения:

java
java -Xmx4g -Xms4g -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar app.jar

Лучшие практики:

  1. Делать Xmx и Xms равными, чтобы избежать динамического расширения heap
  2. Для микросервисов с небольшими heap (~4GB) часто используют G1
  3. Для больших heap (>32GB) рассматривают ZGC/Shenandoah

Анализировать логи GC через -Xlog:gc* и настраивать исходя из метрик pause time и throughput.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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