“The definitive master class in performance tuning Java applications…if you love all the gory details, this is the book for you.”
–James Gosling, creator of the Java Programming Language
Improvements in the Java platform and new multicore/multiprocessor hardware have made it possible to dramatically improve the performance and scalability of Java software.
Java™ Performance covers the latest Oracle and third-party tools for monitoring and measuring performance on a wide variety of hardware architectures and operating systems. The authors present dozens of tips and tricks you’ll find nowhere else.
You’ll learn how to construct experiments that identify opportunities for optimization, interpret the results, and take effective action. You’ll also find powerful insights into microbenchmarking–including how to avoid common mistakes that can mislead you into writing poorly performing software. Then, building on this foundation, you’ll walk through optimizing the Java HotSpot VM, standard and multitiered applications; Web applications, and more. Coverage includes
- Taking a proactive approach to meeting application performance and scalability goals
- Monitoring Java performance at the OS level in Windows, Linux, and Oracle Solaris environments
- Using modern Java Virtual Machine (JVM) and OS observability tools to profile running systems, with almost no performance penalty
- Gaining “under the hood” knowledge of the Java HotSpot VM that can help you address most Java performance issues
- Integrating JVM-level and application monitoring
- Mastering Java method and heap (memory) profiling
- Tuning the Java HotSpot VM for startup, memory footprint, response time, and latency
- Determining when Java applications require rework to meet performance goals
- Systematically profiling and tuning performance in both Java SE and Java EE applications
- Optimizing the performance of the Java HotSpot VM
Using this book, you can squeeze maximum performance and value from all your Java applications–no matter how complex they are, what platforms they’re running on, or how long you’ve been running them.