Skip to product information
Java optimization
Java optimization
Description
Book Introduction
Java performance tuning: Don't rely on rumors and intuition; approach it scientifically!
A Practical Guide to Cloud-Native Java with Concrete Case Studies and Code


Performance tuning is an experimental science.
You should not rely on vague guesses or unverified information.
This book introduces intermediate and advanced Java developers to quantitatively, verifiably, and repeatably tune the performance of Java cloud applications in complex technology stack environments.

The second edition focuses specifically on optimizing the performance of Java applications in cloud environments.
While most Java performance materials focus on JVM theory or internal structure, this book delves into practical performance tuning methods, including recipes, tips and tricks, and algorithms.
  • You can preview some of the book's contents.
    Preview

index
CHAPTER 1: DEFINING OPTIMIZATION AND PERFORMANCE

_1.1 Wrong Java Performance Optimization Methods
_1.2 Java Performance Overview
_1.3 Performance as an empirical science
_1.4 Classification System for Performance
_1.5 Reading Performance Graphs
_1.6 Cloud System Performance
_1.7 Summary

CHAPTER 2 PERFORMANCE TESTING METHODOLOGY

_2.1 Types of Performance Tests
_2.2 Best Practices Overview
_2.3 Causes of Performance Anti-Patterns
_2.4 Statistics for Java Virtual Machine Performance
_2.5 Statistical Interpretation
_2.6 Cognitive Bias and Performance Testing
_2.7 Summary

CHAPTER 3: OVERVIEW OF THE JAVA VIRTUAL MACHINE

_3.1 Interpreting and Class Loading
_3.2 Bytecode Execution
_3.3 Hotspot Introduction
_3.4 Introduction to JIT Compilation
_3.5 Java Virtual Machine Memory Management
_3.6 Threading and the Java Memory Model
_3.7 Java Virtual Machine Monitoring or Tools
_3.8 Java Implementation, Distribution, or Release
_3.9 Summary

CHAPTER 4: UNDERSTANDING GARBAGE COLLECTION

_4.1 Introducing Mark and Sweep
_4.2 Garbage Collection Glossary
_4.3 Introducing Hotspot Runtime
_4.4 Allocation and Lifecycle
_4.5 Weak Generation Hypothesis
_4.6 Hotspot's Production Garbage Collection Technology
_4.7 Parallel Collector
_4.8 The Role of Allocation
_4.9 Summary

CHAPTER 5 ADVANCED GARBAGE COLLECTION

_5.1 Tradeoffs and Pluggable Collectors
_5.2 Concurrent Garbage Collection Theory
_5.3 G1
_5.4 Shenandoah
_5.5 ZGC
_5.6 Balanced (Eclipse OpenJ9)
_5.7 Niche Hotspot Collector
_5.8 Summary

CHAPTER 6 Running Code in the Java Virtual Machine

_6.1 Traditional Java Application Life Cycle
_6.2 Bytecode Interpretation Overview
_6.3 JIT compilation in hotspots
_6.4 Evolution of Java Program Execution
_6.5 Summary

CHAPTER 7 Hardware and Operating Systems

_7.1 Introduction to Modern Hardware
_7.2 Memory
_7.3 Features of Modern Processors
_7.4 Operating System
_7.5 Simple System Model
_7.6 Summary

CHAPTER 8 COMPONENTS OF THE CLOUD STACK

_8.1 Java Standard for Cloud Stack
_8.2 Cloud Native Computing Foundation
_8.3 Virtualization
_8.4 Images and Containers
_8.5 Networking
_8.6 Introducing the Fighting Animals Example
_8.7 Summary

CHAPTER 9 Deploying Java in the Cloud

_9.1 Working with containers in a local environment
_9.2 Container Orchestration
_9.3 Deployment Technology
_9.4 Java-Specific Considerations
_9.5 Summary

CHAPTER 10 Introduction to Observability

_10.1 Why Observability Matters
_10.2 Three Key Elements
_10.3 Observability Architecture Patterns and Anti-Patterns
_10.4 Diagnosing Application Problems Based on Observability
_10.5 Commercial Solutions and Open Source Software
_10.6 Summary

CHAPTER 11 Implementing Observability in Java

_11.1 Introduction to Micrometers
_11.2 Introduction to Prometheus for Java Developers
_11.3 Introducing Open Telemetry
_11.4 Applying OpenTelemetry Tracing in Java
_11.5 Applying OpenTelemetry Metrics in Java
_11.6 Applying OpenTelemetry Logs in Java
_11.7 Summary

CHAPTER 12 PROFILE

_12.1 Introduction to Profiling
_12.2 GUI-based profiling tool
_12.3 Sampling and Safepoint Bias
_12.4 Latest Profiler
_12.5 JDK Flight Recorder(JFR)
_12.6 Operational Aspects of Profiling
_12.7 Memory Profiling
_12.8 Summary

CHAPTER 13 Concurrency Performance Techniques

_13.1 Introduction to Parallel Processing
_13.2 Understanding the Java Memory Model
_13.3 Building a Concurrency Library
_13.4 Concurrency Library Summary
_13.5 Executor and Task Abstraction
_13.6 Virtual Threads
_13.7 Summary

CHAPTER 14 Distributed Systems Techniques and Patterns

_14.1 Basic Distributed Data Structures
_14.2 Consensus Protocol
_14.3 Distributed System Example
_14.4 Fighting Animals Improvements
_14.5 Summary

CHAPTER 15 Modern Performance and the Future

_15.1 New Concurrency Patterns
_15.2 Panama
_15.3 Leiden
_15.4 Valhalla
_15.5 Conclusion

Appendix A Microbenchmarking
Appendix B Performance Anti-Patterns

Detailed image
Detailed Image 1

Publisher's Review
Java in the Cloud Era: Optimization Technology That Transcends Limitations

Optimizing Java performance in a cloud environment goes beyond simple coding skills; it requires a deep understanding and ongoing management of the entire infrastructure.
This book systematically covers how to effectively leverage Java in a cloud-native environment and performance optimization strategies.
This guide is not limited to Java developers, but will serve as a valuable guide for anyone curious about system optimization and performance in a cloud environment.


It covers a wide range of topics, from JVM memory management and garbage collection to deployment and observability in cloud environments, profiling, parallel processing techniques, and distributed system patterns.
It covers practical, real-world topics, including performance testing methodologies, interactions with hardware and operating systems, and container and virtualization technologies.
It also contains practical, immediately applicable guidance on modern Java application development and deployment strategies, performance issues in microservices environments, and how to resolve them.
This book will be of great help in taking your practical skills to the next level.

Main contents

Java principles and technologies that make the most of the latest hardware, operating systems, and cloud stacks
● Common pitfalls when measuring Java performance figures and the limitations of microbenchmarking
● How to package, deploy, operate, and debug Java/JVM applications in a cloud environment
● In-depth analysis of cloud-native applications using the latest observability tools
● Various Java performance optimization techniques, including parallel processing and distributed systems

Target audience

● Cloud Platform Engineer: Anyone who wants to reduce the memory per container by half
● Microservice Designer: Anyone wondering whether Spring Boot or Quarkus is right for their team.
● Performance, SRE: Those who need to freely manage latency by tuning JFR, JIT log, and ZGC.
● Junior Developer: Anyone who wants to break the old prejudice that 'Java = slow'
GOODS SPECIFICS
- Date of issue: May 30, 2025
- Page count, weight, size: 560 pages | 183*235*22mm
- ISBN13: 9791169213868
- ISBN10: 1169213863

You may also like

카테고리