Профессиональный Java: продвинутые техники
Глубокое погружение в многопоточность, JVM и высоконагруженные системы
Краткое содержимое:
Эта книга — не очередное введение в синтаксис Java. Она для тех, кто уже уверенно пишет на Java, но хочет перейти на новый уровень: понять, как работает JVM изнутри, как писать по-настоящему быстрый и надёжный код, и как проектировать системы, выдерживающие миллионы запросов.
Автор, Андрей Соколов — Senior Java Developer с 12-летним опытом в финтехе и highload-проектах. В книге он делится техниками, которые обычно передаются только в устной форме внутри сильных команд.
Что вы узнаете:
- Многопоточность без боли: CompletableFuture, ForkJoinPool, тонкая настройка ExecutorService. Как избежать deadlock, livelock и race condition.
- JVM под микроскопом: модель памяти (JMM), работа сборщиков мусора (G1, ZGC, Shenandoah). Как выбирать стратегию GC под конкретную задачу.
- Профилирование и оптимизация: реальные кейсы с VisualVM, JFR, async-profiler. Как находить узкие места и ускорять код в 2-5 раз.
- Паттерны для production: не только GoF, но и современные паттерны: Pipeline, Saga, CQRS, Event Sourcing. Примеры реализации на Java 17+.
- Работа с памятью: off-heap, direct buffers, sun.misc.Unsafe (и безопасные альтернативы). Когда это оправдано, а когда — нет.
- Мониторинг и диагностика: как понять, что приложение «падает» из-за утечки памяти, и как это исправить без дампа хипа.
Для кого эта книга:
- Java-разработчики с опытом от 2 лет, которые хотят углубиться в платформу.
- Team Lead и архитекторы, проектирующие высоконагруженные системы.
- Все, кто готовится к техническим собеседованиям уровня Senior+.
Книга построена как серия глубоких разборов: каждый раздел — это законченный модуль с примерами кода, схемами и ссылками на реальные проекты (включая open-source). Вы не просто прочитаете теорию — вы сможете сразу применить её в своём проекте.
Формат: PDF, 340 страниц. Примеры кода на Java 17 (с упоминанием нововведений 21-й версии). Все примеры доступны в репозитории на GitHub.
Если вы чувствуете, что упёрлись в потолок со своим текущим уровнем Java — эта книга поможет его пробить.