🚀
#Evolution of
#Java from Java 8 to Java 22 🚀
JDK 8 (2014):
Lambda expressions.
Streams API.
Default methods in interfaces.
Functional Interfaces.
Date and Time API (java.time).
Nashorn JavaScript engine.
PermGen removed, replaced by Metaspace.
Parallel Array Sorting.
Type Annotations.
Method References.
JDK 9 (2017):
JShell (Java REPL).
Modules (Jigsaw Project).
Reactive Streams API.
Enhanced Process API.
HTTP/2 Client.
Improved Garbage Collector.
Private Methods in Interfaces.
Try-With-Resources Enhancements.
JDK 10 (2018):
Local-variable type inference (var keyword).
Application class-data sharing.
Parallel Full GC for G1.
Experimental JIT compiler.
Remove the javah tool.
JDK 11 (2018):
Flight Recorder.
HTTP Client (Standard).
Epsilon Garbage Collector.
Local-variable syntax for lambda parameters.
Remove Java EE and CORBA modules.
Remove Thread.destroy() and Thread.stop(Throwable).
JDK 12 (2019):
Switch Expressions.
Shenandoah Garbage Collector.
Microbenchmark Suite (JMH).
JDK 13 (2019):
Text Blocks.
Dynamic CDS Archives.
ZGC Garbage Collector.
JDK 14 (2020):
Records (Preview).
Pattern Matching for instanceof (Preview).
Non-Volatile Mapped Byte Buffers.
Helpful NullPointerExceptions.
JDK 15 (2020):
Sealed Classes (Preview).
Hidden Classes.
Unix-Domain Socket Channels.
JDK 16 (2021):
Records (Final).
Pattern Matching for instanceof (Final).
Unix-Domain Socket Channels.
JDK 17 (2021):
Sealed Classes and Interfaces (Second Preview).
Pattern Matching for switch (Second Preview).
New macOS rendering pipeline.
JDK 18 (2022):
Records (Second Preview).
Pattern Matching for instanceof (Second Preview).
Enhanced Volatile.
Vector API (Incubator).
JDK 19 (2023):
Project Loom (Fibers).
Foreign Function and Memory API (Incubator).
Strong encapsulation for JDK internals.
JDK 20 (2023):
Record Patterns (Second Preview).
Foreign Function & Memory API (Second Preview).
Scoped Values (Incubator).
JDK 21 (2023):
Virtual Threads for lightweight concurrency.
Record Patterns for enhanced data manipulation.
Pattern Matching for switch statements for concise code structures.
SequencedCollection for direct access to ordered collection's elements.
Preview features including String templates, unnamed classes, and instance main() methods.
Continuation of Scoped values as a preview API.
Unnamed Patterns and Variables as preview features.
Unnamed Classes and Instance Main Methods as preview features.
Structured Concurrency remains a preview feature.
Unnamed Patterns and Variables (Preview)
#JDK 22 (2024):
Region Pinning for G1 Garbage Collector.
Foreign Function & Memory API for improved native interoperability.
Unnamed Variables & Patterns for more flexible coding structures.
Launch Multi-File Source-Code Programs for streamlined program execution.
Learn Java at
javaguides.net/
#follow #java #javaguides