Hello, It's AmigosKazz 😃👋

In this repo I want to talk about "Evolution of Java from Java 8 to Java 22" 🚀🚀

Official Java Documentation

JDK 8 (2014):

Java SE 8

  • 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):

Java SE 9

  • 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):

Java SE 10

  • 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):

Java SE 11

  • 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):

Java SE 12

  • Switch Expressions.
  • Shenandoah Garbage Collector.
  • Microbenchmark Suite (JMH).

JDK 13 (2019):

Java SE 13

  • Text Blocks.
  • Dynamic CDS Archives.
  • ZGC Garbage Collector.

JDK 14 (2020):

Java SE 14

  • Records (Preview).
  • Pattern Matching for instanceof (Preview).
  • Non-Volatile Mapped Byte Buffers.
  • Helpful NullPointerExceptions.

JDK 15 (2020):

Java SE 15

  • Sealed Classes (Preview).
  • Hidden Classes.
  • Unix-Domain Socket Channels.

JDK 16 (2021):

Java SE 16

  • Records (Final).
  • Pattern Matching for instanceof (Final).
  • Unix-Domain Socket Channels.

JDK 17 (2021):

Java SE 17

  • Sealed Classes and Interfaces (Second Preview).
  • Pattern Matching for switch (Second Preview).
  • New macOS rendering pipeline.

JDK 18 (2022):

Java SE 18

  • Records (Second Preview).
  • Pattern Matching for instanceof (Second Preview).
  • Enhanced Volatile.
  • Vector API (Incubator).

JDK 19 (2023):

Java SE 19

  • Project Loom (Fibers).
  • Foreign Function and Memory API (Incubator).
  • Strong encapsulation for JDK internals.

JDK 20 (2023):

Java SE 20

  • Record Patterns (Second Preview).
  • Foreign Function & Memory API (Second Preview).
  • Scoped Values (Incubator).

JDK 21 (2023):

Java SE 21

  • 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):

Java SE 22

  • 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.

By AmigosKazz