Java Performance

Addison Wesley (Verlag)
  • 1. Auflage
  • |
  • erschienen am 4. Oktober 2011
E-Book | ePUB mit Adobe-DRM | Systemvoraussetzungen
978-0-13-290524-4 (ISBN)
"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.

1. Auflage
  • Englisch
  • Boston
  • |
  • USA
Pearson Education (US)
  • Für Beruf und Forschung
  • 45,00 MB
978-0-13-290524-4 (9780132905244)
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.

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

Dateiformat: ePUB
Kopierschutz: Adobe-DRM (Digital Rights Management)


Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Bitte beachten Sie bei der Verwendung der Lese-Software Adobe Digital Editions: wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!

Weitere Informationen finden Sie in unserer E-Book Hilfe.

Download (sofort verfügbar)

27,49 €
inkl. 7% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe-DRM
siehe Systemvoraussetzungen
E-Book bestellen