Java New Features
A project to explore more about the new features of Java 8, 9, ...
Resume by Version
-
- Sealed classes (standard)
- Enhanced Pseudo-Random Number Generator
- Deprecate the Applet API for Removal
- New macOS rendering for Java 2D API
- Remove the experimental AOT and JIT compiler
-
Java 16 (Mar, 2021)
- Records (standard)
- Pattern matching for
instanceof
(standard) - Sealed classes (preview 2)
- Unix-Domain Socket Channels
- Warnings for Value-Based Classes
- Foreign-Memory Access API (incubator)
- Vector API (Incubator)
- Foreign Linker API (Incubator)
- Packaging Tool
-
Java 15 (Sep, 2020)
- Sealed classes (preview)
- Hidden classes
- DatagramSocket reimplementation
- Pattern matching for
instanceof
(preview 2) - Records (preview 2)
- Foreign-Memory Access API (incubator)
- GCs ZGC and Shenandoah turned final
-
Java 14 (May, 2020)
- Switch expression (standard)
- Pattern matching for
instanceof
(preview) - Text blocks improvements (preview 2)
- Records (preview)
- Helpful NullPointerExceptions
- Packaging tool
- JFR even streaming
-
- Switch expression (preview 2)
- Text blocks (preview)
- String API updates
- NIO updates
- Socket and ServerSocket reimplementation (Project Loom)
- Dynamic CDS Archives
- ZGC: Uncommit Unused Memory
-
- Switch expression (preview)
- Compact Number Format
- Collectors improvements
- CompletableFuture improvements
- CDS enable by default
- New GC and improvements
-
- Removal of Java EE Modules, JavaFX and deprecated API
- Http Client (incubator)
- var in lambda expressions
- API improvements
- Null I/O
-
Java 10 (March, 2018)
- Process API improvements
- Collections improvements
- Application Class-Data Sharing
var
keyword to declare variables
-
- Milling Project Coin
- Process API
- Platform Logging API and Service
- Concurrency improvements
- Collections improvements
- Project Jigsaw
- Segmented code cache
- JShell
- much more (see JEPs)
-
- API
- Stream API
- Project Lambda
- Repeating annotations