Pub. Date:
Java Performance / Edition 1

Java Performance / Edition 1

Current price is , Original price is $59.99. You

Temporarily Out of Stock Online

Please check back later for updated availability.

Product Details

ISBN-13: 9780137142521
Publisher: Addison-Wesley
Publication date: 10/18/2011
Series: Java Series
Edition description: New Edition
Pages: 720
Product dimensions: 7.00(w) x 8.90(h) x 0.90(d)

About the Author

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

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

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.