Optimizing Java: Practical Techniques for Improving JVM Application Performance

Front Cover
O'Reilly Media, 2018 - Computers - 415 pages

Performance tuning is an experimental science, but that doesn't mean engineers should resort to guesswork and folklore to get the job done. Yet that's often the case. With this practical book, intermediate to advanced Java technologists working with complex platforms will learn how to tune Java cloud applications for performance using a quantitative, verifiable, and repeatable approach.

In response to the ubiquity of cloud computing, this revised edition addresses topics that are key to high performance of Java applications in the cloud. Many resources on performance tend to focus on the theory and internals of Java virtual machines, but this book discusses the low-level technical aspects within the context of performance-tuning practicalities and examines a wide range of aspects. There are no simple recipes, tips and tricks, or algorithms to learn. Instead, performance analysis is a process of defining and determining desired outcomes and using in-depth technical knowledge to inform how to reach those goals.

With this book, you will:

  • Learn how Java principles and technology make the best use of modern hardware, operating systems, and cloud stacks
  • Examine the pitfalls of measuring Java performance numbers and the drawbacks of microbenchmarking
  • Understand how to package, deploy, operate, and debug Java/JVM applications in modern cloud environments
  • Apply emerging observability approaches to obtain deep understanding of cloud native applications
  • Use Java language performance techniques including concurrent and distributed forms

Other editions - View all

About the author (2018)

Ben Evans is the Co-founder and Technology Fellow of jClarity, a startup which delivers performance tools to help development & ops teams. He helps to organise the London Java Community, and represents them on the Java Community Process Executive Committee where he works to define new standards for the Java ecosystem. He is a Java Champion; JavaOne Rockstar; co-author of "The Well-Grounded Java Developer" and a regular public speaker on the Java platform, performance, concurrency, and related topics. James (Jim) Gough is a Java developer and author. Jim first became interested in Java during his degree program at the University of Warwick, and after graduating he became a member of the London Java Community. Community has remained central to Jim's contributions, which include working on the design and testing of JSR-310 and serving on the Java Community Process Executive Committee for several years. Jim is a regular conference speaker and is currently focused on building customer facing technology at Morgan Stanley. He spent four years teaching Java and C++ in various countries around the world. Chris Newland has been working with Java since 1999 when he started his career using the language to implement intelligent agent systems. He is now a senior developer and team lead at ADVFN using Java to process stock market data in real time. Chris is the inventor of JITWatch (https: //github.com/AdoptOpenJDK/jitwatch), an open-source visualiser for understanding the Just-In-Time (JIT) compilation decisions made by the HotSpot JVM. He is a keen JavaFX supporter and runs a community OpenJFX build server at https: //chriswhocodes.com. Follow him on Twitter @chriswhocodes

Bibliographic information