Java Performance

Java Performance

Paperback Java (Addison-Wesley)

By (author) Charlie Hunt, By (author) Paul Hohensee, By (author) Binu John, By (author) David Dagastine

$47.19
List price $57.78
You save $10.59 18% off

Free delivery worldwide
Available
Dispatched in 2 business days
When will my order arrive?

  • Publisher: Prentice Hall
  • Format: Paperback | 720 pages
  • Dimensions: 178mm x 228mm x 24mm | 898g
  • Publication date: 1 November 2011
  • Publication City/Country: Upper Saddle River
  • ISBN 10: 0137142528
  • ISBN 13: 9780137142521
  • Edition: 1
  • Sales rank: 162,982

Product description

"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 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.

Other people who viewed this bought:

Showing items 1 to 10 of 10

Other books in this category

Showing items 1 to 11 of 11
Categories:

Author information

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 java.net's XMLTest and WSTest benchmark projects.

Table of contents

Foreword by James Gosling xi Foreword by Steve Wilson xiii Preface xv Acknowledgments xix 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 Bibliography 11 Chapter 2: Operating System Performance Monitoring 13 Definitions 14 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 Bibliography 53 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 References 106 Chapter 4: JVM Performance Monitoring 107 Definitions 108 Garbage Collection 108 JIT Compiler 146 Class Loading 147 Java Application Monitoring 150 Bibliography 153 Chapter 5: Java Application Profiling 155 Terminology 157 Oracle Solaris Studio Performance Analyzer 159 NetBeans Profiler 189 References 209 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 Bibliography 249 Chapter 7: Tuning the JVM, Step by Step 251 Methodology 252 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 Bibliography 321 Chapter 8: Benchmarking Java Applications 323 Challenges with Benchmarks 324 Design of Experiments 347 Use of Statistical Methods 348 Reference 355 Bibliography 355 Chapter 9: Benchmarking Multitiered Applications 357 Benchmarking Challenges 357 Enterprise Benchmark Considerations 360 Application Server Monitoring 382 Profiling Enterprise Applications 399 Bibliography 401 Chapter 10: Web Application Performance 403 Benchmarking Web Applications 404 Web Container Components 405 Web Container Monitoring and Performance Tunings 408 Best Practices 427 Bibliography 450 Chapter 11: Web Services Performance 453 XML Performance 454 Validation 460 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 Bibliography 503 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 Bibliography 551 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 Index 669