وبلاگ بلیان

عملکرد جاوا

Java Performance

معرفی کتاب «عملکرد جاوا» (با عنوان لاتین Java Performance) نوشتهٔ Charlie Hunt, Binu John، منتشرشده توسط نشر Addison-Wesley Professional در سال 2011. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

__“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. Contents 8 Foreword 12 Foreword 14 Preface 16 Acknowledgments 20 About the Authors 22 Chapter 1 Strategies, Approaches, and Methodologies 24 Forces at Play 25 Two Approaches, Top Down and Bottom Up 28 Choosing the Right Platform and Evaluating a System 31 Bibliography 34 Chapter 2 Operating System Performance Monitoring 36 Definitions 37 CPU Utilization 37 CPU Scheduler Run Queue 51 Memory Utilization 55 Network I/O Utilization 64 Disk I/O Utilization 69 Additional Command Line Tools 72 Monitoring CPU Utilization on SPARC T-Series Systems 73 Bibliography 76 Chapter 3 JVM Overview 78 HotSpot VM High Level Architecture 79 HotSpot VM Runtime 81 HotSpot VM Garbage Collectors 103 HotSpot VM JIT Compilers 115 HotSpot VM Adaptive Tuning 123 References 129 Chapter 4 JVM Performance Monitoring 130 Definitions 131 Garbage Collection 131 JIT Compiler 169 Class Loading 170 Java Application Monitoring 173 Bibliography 176 Chapter 5 Java Application Profiling 178 Terminology 180 Oracle Solaris Studio Performance Analyzer 182 NetBeans Profiler 212 References 232 Chapter 6 Java Application Profiling Tips and Tricks 234 Performance Opportunities 234 System or Kernel CPU Usage 235 Lock Contention 245 Volatile Usage 257 Data Structure Resizing 258 Increasing Parallelism 266 High CPU Utilization 269 Other Useful Analyzer Tips 270 Bibliography 272 Chapter 7 Tuning the JVM, Step by Step 274 Methodology 275 Application Systemic Requirements 278 Rank Systemic Requirements 280 Choose JVM Deployment Model 281 Choose JVM Runtime 282 GC Tuning Fundamentals 285 Determine Memory Footprint 291 Tune Latency/Responsiveness 301 Tune Application Throughput 330 Edge Cases 339 Additional Performance Command Line Options 339 Bibliography 344 Chapter 8 Benchmarking Java Applications 346 Challenges with Benchmarks 347 Design of Experiments 370 Use of Statistical Methods 371 Reference 378 Bibliography 378 Chapter 9 Benchmarking Multitiered Applications 380 Benchmarking Challenges 380 Enterprise Benchmark Considerations 383 Application Server Monitoring 405 Profiling Enterprise Applications 422 Bibliography 424 Chapter 10 Web Application Performance 426 Benchmarking Web Applications 427 Web Container Components 428 Web Container Monitoring and Performance Tunings 431 Best Practices 450 Bibliography 473 Chapter 11 Web Services Performance 476 XML Performance 477 Validation 483 Resolving External Entities 485 Partial Processing of XML Documents 488 Selecting the Right API 491 JAX-WS Reference Implementation Stack 494 Web Services Benchmarking 496 Factors That Affect Web Service Performance 500 Performance Best Practices 509 Bibliography 526 Chapter 12 Java Persistence and Enterprise Java Beans Performance 528 EJB Programming Model 529 The Java Persistence API and Its Reference Implementation 530 Monitoring and Tuning the EJB Container 534 Transaction Isolation Level 544 Best Practices in Enterprise Java Beans 545 Best Practices in Java Persistence 563 Bibliography 574 Appendix A: HotSpot VM Command Line Options of Interest 576 Appendix B: Profiling Tips and Tricks Example Source Code 596 Lock Contention First Implementation 596 Lock Contention Second Implementation 606 Lock Contention Third Implementation 616 Lock Contention Fourth Implementation 626 Lock Contention Fifth Implementation 636 First Resizing Variant 647 Second Resizing Variant 659 Increasing Parallelism Single-Threaded Implementation 670 Increasing Parallelism Multithreaded Implementation 680 Index 692 A 692 B 693 C 695 D 696 E 697 F 698 G 698 H 699 I 701 J 701 K 703 L 703 M 704 N 707 O 707 P 708 Q 709 R 709 S 710 T 712 U 714 V 714 W 714 X 715 Y 716 “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.

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

“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. This is the first one-stop guide to identifying, isolating, and fixing Java performance issues on multicore and multiprocessor platforms
دانلود کتاب عملکرد جاوا