- Browse
- » Optimizing Java: practical techniques for improving JVM application performance
Optimizing Java: practical techniques for improving JVM application performance
Author
Publisher
Varies, see individual formats and editions
Publication Date
2018.
Language
English
Description
Loading Description...
More Details
Contributors
ISBN
9781492025795
9781492039273
9781492039280
9781492039273
9781492039280
Table of Contents
From the Book - First edition.
Optimization and performance defined
Overview of the JVM
Hardware and operating systems
Performance testing patterns and antipatterns
Microbenchmarking and statistics
Understanding garbage collection
Advanced garbage collection
GC logging, monitoring, tuning, and tools
Code execution on the JVM
Understanding JIT compilation
Java language performance techniques
Concurrent performance techniques
Profiling
High-performance logging and messaging
Java 9 and the future.
From the eBook - First edition.
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
Excerpt
Loading Excerpt...
Author Notes
Loading Author Notes...
Reviews from GoodReads
Loading GoodReads Reviews.
Staff View
Loading Staff View.