Virtual Threads (Preview)
Virtual threads are lightweight threads for blocking work. In Java 19 they are a preview.
Second preview in Java 20 (JEP 436). Final in Java 21 (JEP 444).
OpenJDK JEP 425 (leaves JavaMastery)
Related reading: Concurrency
JDK 19 · JSR 394
JDK 19 is Java SE 19, JSR 394, generally available on 20 September 2022. Virtual threads, record patterns, and the foreign function and memory API are previews. Structured concurrency is an incubator API, not a preview and not a final API.
Virtual threads are lightweight threads for blocking work. In Java 19 they are a preview.
Second preview in Java 20 (JEP 436). Final in Java 21 (JEP 444).
OpenJDK JEP 425 (leaves JavaMastery)
Related reading: Concurrency
A record pattern takes a record apart into its components. This is a preview.
Second preview in Java 20 (JEP 432). Final in Java 21 (JEP 440).
OpenJDK JEP 405 (leaves JavaMastery)
Related reading: Records and sealed classes
Pattern matching for switch is previewed a third time.
Final in Java 21 (JEP 441).
OpenJDK JEP 427 (leaves JavaMastery)
Related reading: Control flow
An incubator API treats related tasks as one unit of work. It is not a preview feature and not a standard API.
Second incubator in Java 20 (JEP 437). Preview from Java 21 (JEP 453) through Java 25 (JEP 505). It is not final in Java 25.
OpenJDK JEP 428 (leaves JavaMastery)
Related reading: Concurrency
The foreign function and memory API leaves incubation and becomes a preview.
Final in Java 22 (JEP 454).
The Vector API incubates a fourth time.
Still incubating in Java 25.
Also in this release: a Linux/RISC-V port (JEP 422).
The linked file is a Java 21 program. Virtual threads, record patterns, and switch patterns were previews in Java 19. Structured concurrency was an incubator in Java 19, and that file does not demonstrate it.
Sources. General availability, JSR 394, and the JEP list: OpenJDK JDK 19. OpenJDK JDK 19 (leaves JavaMastery)