Java Performance on Multi-core Platforms (1ST)

Java Performance on Multi-core Platforms (1ST)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 560 p.
  • 言語 ENG
  • 商品コード 9780137142521
  • DDC分類 005.133

Full 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 LanguageImprovements 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 environmentsUsing modern Java Virtual Machine (JVM) and OS observability tools to profile running systems, with almost no performance penaltyGaining "under the hood" knowledge of the Java HotSpot VM that can help you address most Java performance issues Integrating JVM-level and application monitoringMastering Java method and heap (memory) profilingTuning the Java HotSpot VM for startup, memory footprint, response time, and latencyDetermining when Java applications require rework to meet performance goalsSystematically profiling and tuning performance in both Java SE and Java EE applicationsOptimizing 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.

Contents

Foreword by James Gosling xi Foreword by Steve Wilson xiiiPreface xvAcknowledgments xixAbout the Authors xxiChapter 1: Strategies, Approaches, and Methodologies 1Forces at Play 2Two Approaches, Top Down and Bottom Up 5Choosing the Right Platform and Evaluating a System 8Bibliography 11Chapter 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 53Chapter 3: JVM Overview 55HotSpot VM High Level Architecture 56HotSpot VM Runtime 58HotSpot VM Garbage Collectors 80HotSpot VM JIT Compilers 92HotSpot VM Adaptive Tuning 100References 106Chapter 4: JVM Performance Monitoring 107Definitions 108Garbage Collection 108JIT Compiler 146Class Loading 147Java Application Monitoring 150Bibliography 153Chapter 5: Java Application Profiling 155Terminology 157Oracle Solaris Studio Performance Analyzer 159NetBeans Profiler 189References 209Chapter 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 249Chapter 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 321Chapter 8: Benchmarking Java Applications 323Challenges with Benchmarks 324Design of Experiments 347Use of Statistical Methods 348Reference 355Bibliography 355Chapter 9: Benchmarking Multitiered Applications 357Benchmarking Challenges 357Enterprise Benchmark Considerations 360Application Server Monitoring 382Profiling Enterprise Applications 399Bibliography 401Chapter 10: Web Application Performance 403Benchmarking Web Applications 404Web Container Components 405Web Container Monitoring and Performance Tunings 408Best Practices 427Bibliography 450Chapter 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 503Chapter 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 551Appendix A: HotSpot VM Command Line Options of Interest 553Appendix 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 657Index 669

最近チェックした商品