𝔖 Scriptorium
✦   LIBER   ✦

📁

JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine

✍ Scribed by Monica Beckwith


Publisher
Pearson
Year
2024
Tongue
English
Leaves
272
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Dive into the depths of JVM performance engineering with Java Champion Monica Beckwith. JVM Performance Engineering is an essential guide for every seasoned Java developer.

Demystifying the complexities of the Java Virtual Machine (JVM) performance, focusing on the OpenJDK HotSpot VM, Beckwith combines diagnostic techniques, performance methodologies, and effective optimizations with engaging case studies, practical applications, use-case diagrams, and process flowcharts.

This book offers insights into the cutting-edge and future trends of Java performance.

Review the evolution and inner workings of JVM performance, including architectural nuances, key performance factors, and intricacies of the HotSpot JVM

Witness the transformative journey of Java's type system--from static and strongly typed roots to innovative features like generics and lambda expressions--and see how each Java version revolutionized code efficiency

Dive into Project Valhalla's ambitious plans for inline classes and advanced generics, poised to redefine Java's performance and memory management

Uncover the pivotal shift from a monolithic framework to a modular approach brought by Project Jigsaw, and understand its profound impact on Java performance and the practical benefits of modular services

Discover the evolution of the Java HotSpot VM logging system and its influence on performance engineering, including the the new asynchronous logging mechanism for superior diagnostics, monitoring, and performance testing

Explore end-to-end Java performance optimization techniquest, uncovering key performance metrics and exploring the intricate relationship between JVM and hardware

Gain a comprehensive understanding of JVM's GC and memory management with an in-depth analysis of the Garbage First and Z Garbage Collectors, their evolution, and crucial role in Java's performance landscape

Preview the future of Java concurrency with Virtual Threads, taking a deep dive into the crucial elements that enhance Java's execution speed and reliability, from advanced string deduplication techniques to the sophisticated synchronization of locks

Discover strategies for fast deployment and understand how to reduce time to reach steady state in the JVM through class data sharing, ahead-of time compilation and static images

Practical strategies and case studies demonstrating effective ways to accelerate start-up and warm-up times, with GraalVM and upcoming Project Leyden, crucial for applications requiring rapid deployment

Explore the synergy between the JVM and exotic hardware like GPUs and FPGAs, and uncover the potential of Project Panama, TornadoVM, and the emerging Project Babylon in high-computational scenarios such as machine learning and data processing

✦ Table of Contents


Cover Page
Title Page
Contents
Table of Contents
Preface
Intended Audience
How to Use This Book
Acknowledgments
About the Author
Chapter 1. The Performance Evolution of Java: The Language and the Virtual Machine
A New Ecosystem Is Born
A Few Pages from History
Understanding Java HotSpot VM and Its Compilation Strategies
HotSpot Garbage Collector: Memory Management Unit
The Evolution of the Java Programming Language and Its Ecosystem: A Closer Look
Embracing Evolution for Enhanced Performance
Chapter 2. Performance Implications of Java’s Type System Evolution
Java’s Primitive Types and Literals Prior to Java SE 5.0
Java’s Reference Types Prior to Java SE 5.0
Java’s Type System Evolution from Java SE 5.0 until Java SE 8
Java’s Type System Evolution: Java 9 and Java 10
Java’s Type System Evolution: Java 11 to Java 17
Beyond Java 17: Project Valhalla
Conclusion
Chapter 3. From Monolithic to Modular Java: A Retrospective and Ongoing Evolution
Introduction
Understanding the Java Platform Module System
From Monolithic to Modular: The Evolution of the JDK
Continuing the Evolution: Modular JDK in JDK 11 and Beyond
Implementing Modular Services with JDK 17
JAR Hell Versioning Problem and Jigsaw Layers
Open Services Gateway Initiative
Introduction to Jdeps, Jlink, Jdeprscan, and Jmod
Conclusion
Chapter 4. The Unified Java Virtual Machine Logging Interface
The Need for Unified Logging
Unification and Infrastructure
Tags in the Unified Logging System
Diving into Levels, Outputs, and Decorators
Practical Examples of Using the Unified Logging System
Optimizing and Managing the Unified Logging System
Asynchronous Logging and the Unified Logging System
Understanding the Enhancements in JDK 11 and JDK 17
Conclusion
Chapter 5. End-to-End Java Performance Optimization: Engineering Techniques and Micro-benchmarking with JMH
Introduction
Performance Engineering: A Central Pillar of Software Engineering
Metrics for Measuring Java Performance
The Role of Hardware in Performance
Performance Engineering Methodology: A Dynamic and Detailed Approach
The Importance of Performance Benchmarking
Conclusion
Chapter 6. Advanced Memory Management and Garbage Collection in OpenJDK
Introduction
Overview of Garbage Collection in Java
Thread-Local Allocation Buffers and Promotion-Local Allocation Buffers
Optimizing Memory Access with NUMA-Aware Garbage Collection
Exploring Garbage Collection Improvements
Future Trends in Garbage Collection
Practical Tips for Evaluating GC Performance
Evaluating Garbage Collection Performance in Various Workloads
Live Data Set Pressure
Chapter 7. Runtime Performance Optimizations: A Focus on Strings and Locks
Introduction
String Optimizations
Enhanced Multithreading Performance: Java Thread Synchronization
Transitioning from the Thread-per-Task Model to More Scalable Models
Conclusion
Chapter 8. Accelerating Time to Steady State with OpenJDK HotSpot VM
Introduction
JVM Start-up and Warm-up Optimization Techniques
Decoding Time to Steady State in Java Applications
Managing State at Start-up and Ramp-up
GraalVM: Revolutionizing Java’s Time to Steady State
Emerging Technologies: CRIU and Project CRaC for Checkpoint/Restore Functionality
Start-up and Ramp-up Optimization in Serverless and Other Environments
Boosting Warm-up Performance with OpenJDK HotSpot VM
Conclusion
Chapter 9. Harnessing Exotic Hardware: The Future of JVM Performance Engineering
Introduction to Exotic Hardware and the JVM
Exotic Hardware in the Cloud
The Role of Language Design and Toolchains
Case Studies
Envisioning the Future of JVM and Project Panama
Concluding Thoughts: The Future of JVM Performance Engineering


📜 SIMILAR VOLUMES


JVM Performance Engineering: Inside Open
✍ Monica Beckwith 📂 Library 📅 2024 🏛 Addison-Wesley Professional 🌐 English

<p><span>Peek Under the Hood of the Complex but Fascinating Java Virtual Machine</span></p><p><span>Dive into the intricacies of JVM performance with </span><span>JVM Performance Engineering</span><span>, the essential guide for seasoned Java developers eager to demystify the JVM. Focusing on the Op

Inside the Java virtual machine
✍ Bill Venners 📂 Library 📅 1997 🏛 McGraw-Hill Companies 🌐 English

or the advanced Java developer, Inside the Java 2 Virtual Machine offers a detailed guide to the inner workings of today's Java Virtual Machines (JVMs), plus a complete reference to all bytecodes (the "machine code" for the language). For those who want to understand how Java really works, this book

Java Virtual Machine (JVM)
✍ Гузар В.В. 📂 Library 🌐 Russian

Реферат з курсу "Операційні системи компютерних мереж"<div class="bb-sep"></div><strong>Зміст</strong><br/>Вступ<br/><strong>Історія</strong><br/>Конкуренція між Sun і Microsoft<br/>Конкуренція між Sun і IBM<br/><strong>Формат файлів класу й типів даних</strong><br/>Типи даних<br/>Прості типи й знач

Mastering the Java Virtual Machine: An i
✍ Otàvio Santana 📂 Library 📅 2024 🏛 Packt Publishing Pvt. Ltd. 🌐 English

Mastering the Java Virtual Machine is a comprehensive guide that will take you into the heart of Java programming, guiding you through the intricate workings of the Java Virtual Machine (JVM) and equipping you with essential skills to become a proficient Java developer. You’ll start by understa