JVM Performance Engineering: Inside the OpenJDK Hotspot VM, 1st edition
Published by Addison-Wesley Professional (April 22, 2024) © 2024
- Monica Beckwith
Price Reduced From: $79.95 AUD
Price Reduced From: $88.95 AUD
This product is expected to ship within 5-7 business days for Australian customers.
This comprehensive guide to Java Virtual Machine (JVM) performance engineering is an indispensable resource for every experienced Java developer. World-renowned Java performance expert Monica Beckwith focuses specifically on the OpenJDK HotSpot VM, thoroughly demystifies complex aspects of JVM performance, shares powerful diagnosis techniques, and helps you implement effective optimisations throughout your own code.
First, Beckwith reviews the evolution of Java and the JVM, illuminating garbage collection strategies, parallel and concurrent GC threads, and their performance implications. Next, she expertly discusses the Java type system's evolution, its impact on performance and efficiency, and potential Project Valhalla enhancements. Beckwith shows how to transform monolithic Java applications to the modern, modular Java paradigm, updating project structures, ensuring dependency compatibility, and managing modules to optimise performance. You'll learn how to make the most of the Unified Java Virtual Machine Logging Interface to maximise process visibility and control, and improve debugging and performance testing.
With these foundations in place, Beckwith introduces techniques for end-to-end Java performance optimisation, including micro-benchmarking to assess and enhance the performance of any Java code. Beckwith provides in-depth coverage of advanced memory management in OpenJDK, showing how to leverage recent JDK optimisations and algorithms, and make the most of Thread-Local Allocation Buffers (TLABs) and Non-Uniform Memory Architecture (NUMA). A full chapter on runtime performance optimisation includes a preview of the future of concurrency with Project Loom. Beckwith concludes with advanced techniques for accelerating app startup with OpenJDK, including up-to-date coverage of Elastic Metaspace, Project Leyden, and GraalVM.
Need help? Get in touch