Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Java Performance / Edition 1

Java Performance / Edition 1

4.0 1
by Charlie Hunt, Binu John, David Dagastine

See All Formats & Editions

ISBN-10: 0137142528

ISBN-13: 9780137142521

Pub. Date: 10/18/2011

Publisher: Addison-Wesley

“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


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

Product Details

Publication date:
Java Series
Edition description:
New Edition
Sales rank:
Product dimensions:
7.00(w) x 8.90(h) x 0.90(d)

Related Subjects

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

Customer Reviews

Average Review:

Post to your social network


Most Helpful Customer Reviews

See all customer reviews

Java Performance 4 out of 5 based on 0 ratings. 1 reviews.
seiya More than 1 year ago
It's a very good written java book illustrating all aspects of java performance.