Introduction
- Install Java 25
- Build Tools
- Source Code
- Java Language
Records
- Value Objects
- Alternatives
- Use Records
Sealed Classes
- Inheritance in Java
- Sealed Classes
- Sealed Interfaces
- Sealed and Record Classes
- Reflection API
- Class File Changes
Switch Expressions
- Problems with switch Statement
- Switch Expression
- Arrow Labels
Text Blocks
- Text Blocks
- Re-indentation
- Escape Sequences
- New String Methods
Code Snippets in Java API Documentation
- Inline Snippets
- External Snippets
- Markup Tags
- Tag References
Module Import Declarations
- Module Import Declaration
- Import Ambiguity
- Choose Import Declaration
Flexible Constructor Bodies
Compact Source Files and Instance Main Methods
- Instance main methods
- Compact Source Files
- IO
Pattern Matching
- Pattern Matching for
instanceof - Pattern Matching for
switch - Record Patterns
- Unnamed Variables & Patterns
- Primitive Types in Patterns, instanceof, and switch
- Core Library
JVM Constants API
- Loadable Constants
- Constants API
Hidden Classes
- Create Hidden Classes
- Class Loading of Hidden Classes
- Unloading of Hidden Classes
- Stack Traces
- Nest-based Access Control
Unix-Domain Socket Channels
Enhanced Pseudo-Random Number Generators
- Edwards-Curve Digital Signature Algorithm (EdDSA)
Context-Specific Deserialization Filters
UTF-8 By Default
Internet-Address Resolution SPI
Simple Web Server
Sequenced Collections
SequencedCollectionSequencedSetSequencedMap- Classes Hierarchy
Key Encapsulation Mechanism API
Stream Gatherers
Permanently Disable the Security Manager
Class-File API
ClassFile- Models
- Builders
- Transform
- Parse
- Generate
- Transform
Integrity by Default
- Prepare to Restrict the Use of JNI
- Warn upon Use of Memory-Access Methods in sun.misc.Unsafe
- Multi-threading
Virtual Threads
- Create Virtual Threads
- Virtual Threads Basics
- Thread-local Variables
- Scheduling of Virtual Threads
- Execution of Virtual Threads
ExecutorService- Debugging
Scoped Values
- Thread Local
- ScopedValue
Structured Concurrency
- Basic Usage
- Joiner
- Configuration
- Open a StructuredTaskScope
- Exception Handling
- A Concrete Example
- Joiner.allSuccessfulOrThrow
- Joiner.anySuccessfulResultOrThrow
- Close of StructuredTaskScope
Synchronize Virtual Threads without Pinning
Stable Values
- StableValue
- Stable Supplier
- Stable IntFunction
- Stable Function
- Stable List
- Stable Map
- Constant Folding Optimization
- Use StableValue
- Project Panama
Foreign Function & Memory API
- Foreign Memory
- Memory Segments
- Arenas
- Dereferencing Memory Segments
- Memory Layouts
- Dereferencing Memory Layouts
- More About Arenas
- Foreign Functions
- Security
Vector API
- API Basics
- Euclidean Distance Calculation
- JVM
Class-Data Sharing
Helpful NullPointExceptions
JFR
- JFR Event Streaming
- Method Timing and Tracing
- CPU-Time Profiling
Garbage Collectors
- G1
- ZGC
- Generational Shenandoah
Compact Object Headers
Project Leyden
- Class Loading & Linking
- Method Profiling
- Tools
Packaging Tool
- Use jpackage
- Custom Runtime Image
Launch Multi-File Source-Code Programs
Linking Run-Time Images without JMODs
Annotations Processing