Modern Java in Practice: Java 21 and 25 LTS for Working Engineers
Twenty-two chapters covering the language and platform features that shipped between Java 11 and 25, explained for engineers who write production code. Records, sealed types, pattern matching, virtual threads, structured concurrency, the FFM API, and built-in observability with JFR. Plain Java, no frameworks.
~385 pages
2026
English
What you'll learn
Records, sealed types, and pattern matching as first-class design tools
Switch expressions and text blocks that simplify real production code
Virtual threads and structured concurrency for scalable I/O without reactive complexity
Scoped values and stable values as modern replacements for ThreadLocal
Stream Gatherers and Sequenced Collections from the latest LTS
The modern HTTP client for non-framework service calls
The Foreign Function and Memory API for safe, zero-copy native interop
The Vector API for data-parallel computation on modern hardware
Java Flight Recorder as the built-in observability tool most teams ignore
Table of Contents
22 chapters · Plain Java, no Spring Boot
- 01 Why Modern Java?
- 02 var and Local Variable Type Inference
- 03 Text Blocks
- 04 Switch Expressions
- 05 Records
- 06 Sealed Types
- 07 Pattern Matching
- 08 Unnamed Variables and Patterns
- 09 Instance Main Methods and the Quiet On-Ramp
- 10 Virtual Threads
- 11 Structured Concurrency
- 12 Scoped Values
- 13 Stable Values
- 14 Sequenced Collections
- 15 Stream Gatherers and Modern Streams
- 16 The Modern HTTP Client
- 17 The Foreign Function & Memory API
- 18 The Vector API
- 19 The Class-File API
- 20 Garbage Collectors Today
- 21 JFR: Built-in Observability
- 22 Startup and Distribution