Java Versions

Java 8 LTS (March 2014)

  • Lambda
  • Stream
  • Method reference
  • Interface default method
  • Interface static method
  • Optional

More

Java 9 (September 2017)

  • Try-with-resources improvement
  • Diamond operator for anonymous inner class
  • Interface private method
  • New http client (incubator module)
  • Jigsaw

More

Java 10 (March 2018)

  • Var keyword (inferred type)
  • ToUnmodifiable*
  • Docker container awareness

More

Java 11 LTS (September 2018)

  • New string methods (is blank, strip, strip leading, repeat)
  • Not predicate
  • Collection with toArray function (int function arg)
  • Var in lambda
  • New http client (standard feature)
  • Running Java Files

More

Java 12 (March 2019)

  • New string methods (indent, ...)
  • Mismatch between files
  • Teeing collector
  • Switch Expressions (Preview)
  • Pattern Matching for instanceof (Preview)

More

Java 13 (September 2019)

  • Z garbage collector low-latency garbage collection mechanism (returns uncommitted memory to the operating system by default)

More

Java 14 (March 2020)

  • Switch expression
  • String text blocks
  • Pattern Matching Type Checks (Preview)
  • Records (Preview)

More

Java 15 (September 2020)

  • Records (Preview)
  • Sealed classes (Preview)
  • Hidden classes
  • Pattern Matching Type Checks (Preview)

More

Java 16 (March 2021)

  • Records
  • Pattern Matching Type Checks
  • Sealed classes (Second preview)
  • Vector API (First Incubator)

Java 17 LTS (September 2021)

  • Sealed classes
  • Vector API (Second Incubator)
  • Pattern Matching for switch (preview)

More

Java 18 (March 2022)

  • UTF-8 by Default
  • Simple Web Server
  • Code Snippets in Java API Documentation
  • Vector API (Third Incubator)

More

Java 19 (September 2022)

  • Nested Record Pattern Matching (Preview)
  • Pattern Matching for Switch (Preview)
  • Virtual Threads (Preview)

More Voxxed Days

Java 20 (March 2023)

  • Record Patterns improvements: usage in for-each

More

Java 21 LTS (September 2023)

  • Unnamed Patterns and Variables (Preview)
  • Unnamed Classes and Instance Main Methods (Preview)
  • String Templates (Preview)

More More

Java 22 LTS (March 2024)

  • Unnamed Patterns and Variables (Final)
  • Foreign Function & Memory API
  • Stream Gatherers
  • Class-File API
  • Statements Before Super (Preview)
  • Structured Concurrency (Preview)
  • Scoped Values (Preview)
  • Implicitly Declared Classes and Instance Main Methods (Preview)
  • Vector API (7th Incubating version)

More Scoped Values