𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Optimizing Java: practical techniques for improving JVM application performance

✍ Scribed by Evans, Benjamin J.;Gough, James;Newland, Chris


Publisher
O'Reilly Media
Year
2018
Tongue
English
Edition
First edition
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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

✦ Table of Contents


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

✦ Subjects


Computer programming;COMPUTERS--Programming Languages--Java;COMPUTERS--Programming Languages--JavaScript;Java (Computer program language);Electronic books;COMPUTERS -- Programming Languages -- Java;COMPUTERS -- Programming Languages -- JavaScript


πŸ“œ SIMILAR VOLUMES


Optimizing Java: Practical Techniques fo
✍ Benjamin J Evans, James Gough πŸ“‚ Library πŸ“… 2016 πŸ› O'Reilly Media 🌐 English

Currently, no books exist that focus on the practicalities of Java application performance tuning, as opposed to the theory and internals of Java virtual machines. This practical guide is the "missing link" that aims to move Java performance tuning from the realm of guesswork and folklore

Java 9 High Performance: Practical Techn
✍ Mayur Ramgir & Nick Samoylov [Ramgir, Mayur & Samoylov, Nick] πŸ“‚ Library πŸ“… 2017 πŸ› Packt Publishing 🌐 English

<span><p><strong>Best practices to adapt and bottlenecks to avoid</strong></p><h2>About This Book</h2><ul> <li>Tackle all kinds of performance-related issues and streamline your development</li> <li>Master the new features and new APIs of Java 9 to implement highly efficient and reliable codes</li

Techniques for Optimizing Applications:
✍ Garg R.P. πŸ“‚ Library 🌐 English

Prentice Hall, 2001 β€” 672 p.<br/>This book is a practical guide to performance optimization of computationally intensive programs on Sun UltraSPARC platforms. It is primarily intended for developers of technical or high performance computing (HPC) applications for the Solaris(tm) operating environme

Troubleshooting Java: Read, debug, and o
✍ Laurentiu Spilca πŸ“‚ Library πŸ“… 2023 πŸ› Manning Publications 🌐 English

Effectively reading and understanding existing code is a developer’s superpower. In this book, you’ll master techniques for code profiling, advanced debugging, and log evaluation to find and fix bugs and performance problems. In Troubleshooting Java: Read, debug, and optimize JVM applications you