Java Performance

Java Performance

4.07 (170 ratings by Goodreads)
By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 3 business days
When will my order arrive?


"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 (TM) 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 VMUsing 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.
show more

Product details

  • Paperback | 720 pages
  • 178 x 228 x 24mm | 898.11g
  • Pearson Education (US)
  • Addison-Wesley Educational Publishers Inc
  • New Jersey, United States
  • English
  • 0137142528
  • 9780137142521
  • 241,320

Table of contents

Foreword by James Gosling xi Foreword by Steve Wilson xiiiPreface xvAcknowledgments xixAbout the Authors xxi Chapter 1: Strategies, Approaches, and Methodologies 1Forces at Play 2Two Approaches, Top Down and Bottom Up 5Choosing the Right Platform and Evaluating a System 8Bibliography 11 Chapter 2: Operating System Performance Monitoring 13Definitions 14CPU Utilization 14CPU Scheduler Run Queue 28Memory Utilization 32Network I/O Utilization 41Disk I/O Utilization 46Additional Command Line Tools 49Monitoring CPU Utilization on SPARC T-Series Systems 50Bibliography 53 Chapter 3: JVM Overview 55HotSpot VM High Level Architecture 56HotSpot VM Runtime 58HotSpot VM Garbage Collectors 80HotSpot VM JIT Compilers 92HotSpot VM Adaptive Tuning 100References 106 Chapter 4: JVM Performance Monitoring 107Definitions 108Garbage Collection 108JIT Compiler 146Class Loading 147Java Application Monitoring 150Bibliography 153 Chapter 5: Java Application Profiling 155Terminology 157Oracle Solaris Studio Performance Analyzer 159NetBeans Profiler 189References 209 Chapter 6: Java Application Profiling Tips and Tricks 211Performance Opportunities 211System or Kernel CPU Usage 212Lock Contention 222Volatile Usage 234Data Structure Resizing 235Increasing Parallelism 243High CPU Utilization 246Other Useful Analyzer Tips 247Bibliography 249 Chapter 7: Tuning the JVM, Step by Step 251Methodology 252Application Systemic Requirements 255Rank Systemic Requirements 257Choose JVM Deployment Model 58Choose JVM Runtime 259GC Tuning Fundamentals 262Determine Memory Footprint 268Tune Latency/Responsiveness 278Tune Application Throughput 307Edge Cases 316Additional Performance Command Line Options 316Bibliography 321 Chapter 8: Benchmarking Java Applications 323Challenges with Benchmarks 324Design of Experiments 347Use of Statistical Methods 348Reference 355Bibliography 355 Chapter 9: Benchmarking Multitiered Applications 357Benchmarking Challenges 357Enterprise Benchmark Considerations 360Application Server Monitoring 382Profiling Enterprise Applications 399Bibliography 401 Chapter 10: Web Application Performance 403Benchmarking Web Applications 404Web Container Components 405Web Container Monitoring and Performance Tunings 408Best Practices 427Bibliography 450 Chapter 11: Web Services Performance 453XML Performance 454Validation 460Resolving External Entities 462Partial Processing of XML Documents 465Selecting the Right API 468JAX-WS Reference Implementation Stack 471Web Services Benchmarking 473Factors That Affect Web Service Performance 477Performance Best Practices 486Bibliography 503 Chapter 12: Java Persistence and Enterprise Java Beans Performance 505EJB Programming Model 506The Java Persistence API and Its Reference Implementation 507Monitoring and Tuning the EJB Container 511Transaction Isolation Level 521Best Practices in Enterprise Java Beans 522Best Practices in Java Persistence 540Bibliography 551 Appendix A: HotSpot VM Command Line Options of Interest 553 Appendix B: Profiling Tips and Tricks Example Source Code 573Lock Contention First Implementation 573Lock Contention Second Implementation 583Lock Contention Third Implementation 593Lock Contention Fourth Implementation 603Lock Contention Fifth Implementation 613First Resizing Variant 624Second Resizing Variant 636Increasing Parallelism Single-Threaded Implementation 647Increasing Parallelism Multithreaded Implementation 657 Index 669
show more

About Binu John

Charlie Hunt is the JVM performance lead engineer at Oracle. He is responsible for improving the performance of the HotSpot JVM and Java SE class libraries. He has also been involved in improving the performance of the Oracle GlassFish and Oracle WebLogic Server. A regular JavaOne speaker on Java performance, he also coauthored NetBeans (TM) IDE Field Guide (Prentice Hall, 2005).Binu John is a senior performance engineer at Ning, Inc., where he focuses on improving the performance and scalability of the Ning platform to support millions of page views per month. Before that, he spent more than a decade working on Java-related performance issues at Sun Microsystems, where he served on Sun's Enterprise Java Performance team. John has contributed to developing industry standard benchmarks such as SPECjms2007 and SPECJAppServer2010; published several performance whitepapers; and contributed to's XMLTest and WSTest benchmark projects.
show more

Rating details

170 ratings
4.07 out of 5 stars
5 37% (63)
4 38% (65)
3 21% (36)
2 2% (3)
1 2% (3)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X