Skip to content

Latest commit

 

History

History
36 lines (31 loc) · 3.47 KB

README.md

File metadata and controls

36 lines (31 loc) · 3.47 KB

JavaReleases 📅 - Key features by version

Description 📄

This project includes unit tests for key functionalities introduced in each Java version.

  • Java 1.0 (Java 0) — classes & interfaces, exceptions, threads, legacy collections, AWT
  • Java 1.1 (Java 1™) — inner classes, JDBC, reflection, serialization, java.text i18n, BigDecimal
  • Java 1.2 (Java 2™) — Collections Framework, Swing
  • Java 1.3 (Java 3™) — JNDI, Java Sound, Timer
  • Java 1.4 (Java 4™) — assert, NIO, regex, exception chaining, logging, ImageIO
  • Java 1.5 (Java 5™) — generics, for-each, autoboxing, varargs, enums, annotations, java.util.concurrent
  • Java 1.6 (Java 6™) — scripting engines, Compiler API, system tray
  • Java 1.7 (Java 7™) — try-with-resources, multi-catch, diamond, switch on strings, NIO.2, Fork/Join
  • Java 1.8 (Java 8™) — lambdas, functional interfaces, streams, Optional, java.time
  • Java 9™ — List.of/Map.of, private interface methods, Process API, JShell
  • Java 10™ — var
  • Java 11™ — HTTP Client, single-file source launch, var in lambdas
  • Java 12™ — JVM Constants API, switch expressions (preview)
  • Java 13™ — dynamic CDS archives, text blocks (preview)
  • Java 14™ — switch expressions, helpful NullPointerExceptions, records (preview)
  • Java 15™ — text blocks, hidden classes, ZGC & Shenandoah
  • Java 16™ — records, pattern matching for instanceof, jpackage
  • Java 17™ — sealed classes, strong encapsulation of JDK internals, new PRNGs
  • Java 18™ — UTF-8 by default, Simple Web Server, code snippets in Javadoc
  • Java 19™ — virtual threads & record patterns (preview)
  • Java 20™ — scoped values (incubator), second previews
  • Java 21™ — virtual threads, sequenced collections, record patterns, pattern matching for switch
  • Java 22™ — Foreign Function & Memory API, unnamed variables & patterns
  • Java 23™ — Markdown documentation comments
  • Java 24™ — Stream Gatherers, Class-File API, virtual threads without pinning
  • Java 25™ — scoped values, module imports, compact source files, flexible constructor bodies

For detailed examples and tests of each feature, please refer to the individual source files linked above.

Check it out 🔍