Optimizing Java : practical techniques for improving JVM application performance /
Clasificación: | Libro Electrónico |
---|---|
Autores principales: | , , |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Sebastopol, CA :
O'Reilly,
2018.
|
Edición: | First edition. |
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Intro; Copyright; Table of Contents; Foreword; Preface; Conventions Used in This Book; Using Code Examples; O'Reilly Safari; How to Contact Us; Acknowledgments; Chapter 1. Optimization and Performance Defined; Java Performance-The Wrong Way; Java Performance Overview; Performance as an Experimental Science; A Taxonomy for Performance; Throughput; Latency; Capacity; Utilization; Efficiency; Scalability; Degradation; Connections Between the Observables; Reading Performance Graphs; Summary; Chapter 2. Overview of the JVM; Interpreting and Classloading; Executing Bytecode; Introducing HotSpot
- Introducing Just-in-Time CompilationJVM Memory Management; Threading and the Java Memory Model; Meet the JVMs; A Note on Licenses; Monitoring and Tooling for the JVM; VisualVM; Summary; Chapter 3. Hardware and Operating Systems; Introduction to Modern Hardware; Memory; Memory Caches; Modern Processor Features; Translation Lookaside Buffer; Branch Prediction and Speculative Execution; Hardware Memory Models; Operating Systems; The Scheduler; A Question of Time; Context Switches; A Simple System Model; Basic Detection Strategies; Utilizing the CPU; Garbage Collection; I/O; Mechanical Sympathy
- VirtualizationThe JVM and the Operating System; Summary; Chapter 4. Performance Testing Patterns and Antipatterns; Types of Performance Test; Latency Test; Throughput Test; Load Test; Stress Test; Endurance Test; Capacity Planning Test; Degradation Test; Best Practices Primer; Top-Down Performance; Creating a Test Environment; Identifying Performance Requirements; Java-Specific Issues; Performance Testing as Part of the SDLC; Introducing Performance Antipatterns; Boredom; Résumé Padding; Peer Pressure; Lack of Understanding; Misunderstood/Nonexistent Problem
- Performance Antipatterns CatalogueDistracted by Shiny; Distracted by Simple; Performance Tuning Wizard; Tuning by Folklore; The Blame Donkey; Missing the Bigger Picture; UAT Is My Desktop; Production-Like Data Is Hard; Cognitive Biases and Performance Testing; Reductionist Thinking; Confirmation Bias; Fog of War (Action Bias); Risk Bias; Ellsberg's Paradox; Summary; Chapter 5. Microbenchmarking and Statistics; Introduction to Measuring Java Performance; Introduction to JMH; Don't Microbenchmark If You Can Help It (A True Story); Heuristics for When to Microbenchmark; The JMH Framework
- Executing BenchmarksStatistics for JVM Performance; Types of Error; Non-Normal Statistics; Interpretation of Statistics; Summary; Chapter 6. Understanding Garbage Collection; Introducing Mark and Sweep; Garbage Collection Glossary; Introducing the HotSpot Runtime; Representing Objects at Runtime; GC Roots and Arenas; Allocation and Lifetime; Weak Generational Hypothesis; Garbage Collection in HotSpot; Thread-Local Allocation; Hemispheric Collection; The Parallel Collectors; Young Parallel Collections; Old Parallel Collections; Limitations of Parallel Collectors; The Role of Allocation