Featured image of post 【Java】Releases

【Java】Releases

Oracle has moved to a new release model since Java 9:

  • There are new Java releases every six months.
  • Every two (three before java17) years, the September release is designated as an LTS release.
  • Non-LTS releases are supported only until the next release.

Java 1.0 (1996)

  • First public release

Java 1.1 (1997)

  • Inner classes
  • JavaBeans
  • JDBC
  • RMI (Remote Method Invocation)

Java 1.2 (1998)

  • Collections framework
  • Swing GUI
  • JIT (Just-In-Time) compiler

Java 1.3 (2000)

  • HotSpot JVM
  • JNDI (Java Naming and Directory Interface)

Java 1.4 (2002)

  • Assert keyword
  • Regular expressions
  • Logging API
  • NIO (New Input/Output)

Java 5 (2004)

  • Generics
  • Annotations
  • Autoboxing/Unboxing
  • Enumerations
  • Varargs
  • Enhanced for loop

Java 6 (2006)

  • Scripting language support
  • JDBC 4.0
  • Java Compiler API

Java 7 (2011)

  • Try-with-resources
  • Diamond operator
  • Switch with Strings
  • NIO 2.0

Java 8 (2014) - LTS

  • Lambda expressions
  • Stream API
  • Optional class
  • Default methods in interfaces
  • New Date and Time API

Java 9 (2017)

  • Module system (Project Jigsaw)
  • JShell (REPL)
  • Private methods in interfaces

Java 10 (2018)

  • Local variable type inference (var keyword)

Java 11 (2018) - LTS

  • HTTP Client API
  • Launch single-file source-code programs

Java 12 (2019)

  • Switch expressions (preview)

Java 13 (2019)

  • Text blocks (preview)

Java 14 (2020)

  • Records (preview)
  • Pattern matching for instanceof (preview)

Java 15 (2020)

  • Sealed classes (preview)
  • Hidden classes

Java 16 (2021)

  • Pattern matching for instanceof (finalized)
  • Records (finalized)

Java 17 (2021) - LTS

  • Sealed classes (finalized)
  • Pattern matching for switch (preview)

Java 18 (2022)

  • Simple web server
  • Code snippets in Java API documentation

Java 19 (2022)

  • Virtual threads (preview)
  • Pattern matching for switch (second preview)

Java 20 (2023)

  • Scoped values (incubator)
  • Record patterns (second preview)

Java 21(2023) - LTS

  • Virtual Threads (finalized)
  • Pattern Matching for Switch (finalized)
  • Record Patterns (finalized)
  • Sequenced Collections
  • String Templates (preview)
  • Unnamed Classes and Instance Main Methods (preview)
  • Unnamed Patterns and Variables (preview)
  • Scoped Values (preview)
  • Foreign Function & Memory API (preview)
  • Structured Concurrency (preview)
  • Vector API (incubator)
Licensed under CC BY-NC-SA 4.0
Last updated on Jul 12, 2024 00:00 UTC
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy