Производительность Java приложений: Оптимизация и профилирование
Практическое руководство по настройке и ускорению Java-кода
Краткое содержимое:
Книга "Производительность Java приложений" — это практическое руководство для разработчиков, которые хотят научиться выявлять и устранять узкие места в своих Java-программах. Автор детально разбирает внутреннее устройство виртуальной машины Java (JVM), механизмы сборки мусора, работу с памятью и многопоточностью, а также современные инструменты профилирования.
Книга состоит из трёх частей:
- Основы производительности — понимание работы JIT-компилятора, байткода и настройки JVM.
- Профилирование и мониторинг — использование VisualVM, JProfiler, Java Flight Recorder и других инструментов для анализа CPU, памяти и потоков.
- Практическая оптимизация — оптимизация алгоритмов, работа с коллекциями, снижение нагрузки на GC, асинхронное программирование и бенчмаркинг с JMH.
Для кого эта книга:
- Java-разработчиков уровня Junior+ и Middle, желающих перейти на следующий уровень.
- Team Lead и архитекторов, отвечающих за производительность приложений.
- Специалистов, готовящихся к техническим собеседованиям (темы JVM и GC часто встречаются на интервью).
Что вы узнаете:
- Как работают сборщики мусора (G1, ZGC, Shenandoah) и когда какой выбирать.
- Как правильно настраивать параметры JVM (-Xms, -Xmx, -XX:NewRatio и др.).
- Как находить утечки памяти и проблемы с потоками.
- Как писать бенчмарки, не допуская типовых ошибок (JVM warmup, dead code elimination).
- Как многопоточность влияет на производительность и как избегать contention.
Книга написана живым языком с большим количеством примеров кода и реальных кейсов. Подходит как для самостоятельного изучения, так и для использования как справочник при решении конкретных проблем производительности.
Рекомендуется читателям, уже знакомым с основами Java и желающим глубже понять, как заставить код работать быстрее.
Рекомендаций
Разработка веб-приложений с использованием Flask на языке Python
Тестирование Swift (iOS/macOS) приложений
Go (Golang) и базы данных: практическое руководство
Собеседование по JavaScript (Node.js): 200 вопросов и ответов
Чистый код на Kotlin: Практическое руководство
JavaScript by Example: Изучение программирования на практических примерах