- By Charlie Hunt, Binu John
- Published Oct 4, 2011 by Addison-Wesley Professional. Part of the Java Series series.
- Copyright 2012
- Dimensions: 7" x 9-1/8"
- Pages: 720
- Edition: 1st
- ISBN-10: 0-13-714252-8
- ISBN-13: 978-0-13-714252-1
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Charlie Hunt (Libertyville, IL) is a Java performance engineer working on both Java SE and Java EE optimization issues. Dave Dagastine (Cobleskill, NY), Java SE Performance Engineering tech lead is actively involved in developing Java benchmarks at SPEC. Paul Hohensee (Nashua, NH) is Senior Staff Engineer for Sun Microsystems in Burlington, MA.
“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.
15 of 17 people found the following review helpful
Essential information hard-to-find anywhere else,
This review is from: Java Performance (Paperback)This is an outstanding book and one of the few that, even after working through, I'll be keeping within reach at my desk. After almost a decade working on the JVM, I've only recently begun work on some software that really strains our systems, processing a million and some records a day with several instances each on multiple threads, and so until recently, performance has always been a secondary concern. While the app's code is certainly not perfect, I started wondering whether any of the mysterious extended options available to the JVM might take some of the weight off the system without having to wait until the next formal development/release cycle. This is what prompted me to look at this book, but as I'll describe, I found much more.
I was very impressed with the amount of information provided: unlike most computer-related books, this is dense with text, rather than long code samples, screenshots and diagrams. Why is this a good thing? This is not just a book on how to... Read more
5 of 5 people found the following review helpful
lacks supportive data to corroborate the theories,
This review is from: Java Performance (Paperback)This book is essentially a compilation of all internal product documentations and freely available online tutorials without good examples to corroborate the theories presented throughout the book. It discusses JVM tuning as an infinite set of variables, which look more like infinite variety and challenges to the reader than anything concrete and useful. It is an "okay" book if you just want to "read" about Java performance, but if you have a real project and a real Java performance issue to deal with, you'll have to try out all the permutations and find out yourself which ones are helpful and which ones are not - only if you have infinite amount of time to do so. In reality, sometimes we just want to get a Java performance issue resolved as quickly as possible so that we can move on to the next task on our busy agenda. This book has clearly failed to meet the basic criterion of being data-driven to be a practical, useful guide to helping readers resolve their Java performance issues... Read more
12 of 15 people found the following review helpful
Good, but rather Oracle Centric,
This review is from: Java Performance (Paperback)The last book to cover this topic n any detail was Steve Wilson et al's "Java Platform Performance", which was published in 2000. HotSpot has moved on a fair bit since then, so its good to see a new book covering the subject.
The sections on JVM tuning and profiling are particularly strong. There's also a decent section on HotSpot Garbage Collectors, though I would have liked to see some more discussion on alternative GC algorithms such as IBM's Balanced Garbage Collector and Azul's C4.
It should be noted that there is a definite bias towards Oracle's tools and hardware. For example the section on "Choosing the Right CPU architecture" concentrated mainly on Oracle's SPARC chips. Also the two profilers featured are the Oracle Solaris Studio Performance Analysiser Tool, and the NetBeans profiler. Likewise in the Java EE Section all the examples are based on Glassfish.
The book doesn't provide a recipe for solving every problem, but does provide... Read more
› See all 23 customer reviews...
Online Sample Chapter
Download the sample pages (includes Chapter 6 and Index)
Table of Contents
Foreword by James Gosling xi
Foreword by Steve Wilson xiii
About the Authors xxi
Chapter 1: Strategies, Approaches, and Methodologies 1
Forces at Play 2
Two Approaches, Top Down and Bottom Up 5
Choosing the Right Platform and Evaluating a System 8
Chapter 2: Operating System Performance Monitoring 13
CPU Utilization 14
CPU Scheduler Run Queue 28
Memory Utilization 32
Network I/O Utilization 41
Disk I/O Utilization 46
Additional Command Line Tools 49
Monitoring CPU Utilization on SPARC T-Series Systems 50
Chapter 3: JVM Overview 55
HotSpot VM High Level Architecture 56
HotSpot VM Runtime 58
HotSpot VM Garbage Collectors 80
HotSpot VM JIT Compilers 92
HotSpot VM Adaptive Tuning 100
Chapter 4: JVM Performance Monitoring 107
Garbage Collection 108
JIT Compiler 146
Class Loading 147
Java Application Monitoring 150
Chapter 5: Java Application Profiling 155
Oracle Solaris Studio Performance Analyzer 159
NetBeans Profiler 189
Chapter 6: Java Application Profiling Tips and Tricks 211
Performance Opportunities 211
System or Kernel CPU Usage 212
Lock Contention 222
Volatile Usage 234
Data Structure Resizing 235
Increasing Parallelism 243
High CPU Utilization 246
Other Useful Analyzer Tips 247
Chapter 7: Tuning the JVM, Step by Step 251
Application Systemic Requirements 255
Rank Systemic Requirements 257
Choose JVM Deployment Model 58
Choose JVM Runtime 259
GC Tuning Fundamentals 262
Determine Memory Footprint 268
Tune Latency/Responsiveness 278
Tune Application Throughput 307
Edge Cases 316
Additional Performance Command Line Options 316
Chapter 8: Benchmarking Java Applications 323
Challenges with Benchmarks 324
Design of Experiments 347
Use of Statistical Methods 348
Chapter 9: Benchmarking Multitiered Applications 357
Benchmarking Challenges 357
Enterprise Benchmark Considerations 360
Application Server Monitoring 382
Profiling Enterprise Applications 399
Chapter 10: Web Application Performance 403
Benchmarking Web Applications 404
Web Container Components 405
Web Container Monitoring and Performance Tunings 408
Best Practices 427
Chapter 11: Web Services Performance 453
XML Performance 454
Resolving External Entities 462
Partial Processing of XML Documents 465
Selecting the Right API 468
JAX-WS Reference Implementation Stack 471
Web Services Benchmarking 473
Factors That Affect Web Service Performance 477
Performance Best Practices 486
Chapter 12: Java Persistence and Enterprise Java Beans Performance 505
EJB Programming Model 506
The Java Persistence API and Its Reference Implementation 507
Monitoring and Tuning the EJB Container 511
Transaction Isolation Level 521
Best Practices in Enterprise Java Beans 522
Best Practices in Java Persistence 540
Appendix A: HotSpot VM Command Line Options of Interest 553
Appendix B: Profiling Tips and Tricks Example Source Code 573
Lock Contention First Implementation 573
Lock Contention Second Implementation 583
Lock Contention Third Implementation 593
Lock Contention Fourth Implementation 603
Lock Contention Fifth Implementation 613
First Resizing Variant 624
Second Resizing Variant 636
Increasing Parallelism Single-Threaded Implementation 647
Increasing Parallelism Multithreaded Implementation 657
Book + eBook Bundle
Book Price $47.99
eBook Price $16.80
eBook formats included
This book includes free shipping!
This book includes free shipping!
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.