This practical guide covers the entire development cycle of high-performance code: from understanding the internal workings of the JVM to configuring garbage collectors, analyzing JIT compilation, using JMH, working with multithreading, and building effective CI/CD pipelines, among many other topics. You will learn: which tools and approaches allow you to identify bottlenecks; how to measure real metrics; optimize multithreaded and reactive applications; correctly cache and analyze bytecode; use modern garbage collectors and efficiently optimize mobile and desktop Java applications. Separate chapters are devoted to virtual threads, modularity, observability, and working with containers and big data (Spark, Flink).
By reading the book, you will gain:
— a comprehensive understanding of the performance of Java applications;
— knowledge on how to conduct load testing and track degradations in CI/CD;
— dozens of examples, templates, and tips for speeding up applications both on the server and on desktop or Android;
— recommendations for choosing GC, building an observability stack, and optimizing the entire pipeline.
The book will be useful for both experienced Java developers and those who are just starting to master advanced aspects of performance.