Skip to content

Exploring Java 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

License

Notifications You must be signed in to change notification settings

abha8517/java-new-features

 
 

Repository files navigation

Java New Features

A project to explore more about the new features of Java 8, 9, ...

JDK Release Notes

OpenJDK Projects

  • Valhalla: enhance Java object model with value objects and primitive values.
  • Loom: project to bring user-mode threads.

Resume by Version

  • Java 20

    • Scoped values (incubator)
    • Record pattern (preview 2)
    • Pattern matching for switch (preview 4)
    • Foreign Function & memory API (preview 2)
    • Virtual Threads (preview 2)
    • Structured concurrency (second incubator)
  • Java 19 (Sep, 2022)

    • Virtual Thread 🚀
    • Pattern matching for switch (preview 3)
    • Vector API (fourth incubator)
    • Record pattern (preview)
    • Structured concurrency (incubator)
  • Java 18 (Mar, 2022)

    • UTF-8 by Default
    • Simple Web Server
    • Code Snippets in Java API Documentation
    • Pattern matching for switch (preview 2)
    • Deprecated method finalize
  • Java 17 (Sep, 2021)

    • Sealed classes (standard)
    • Pattern matching for switch (preview)
    • Enhanced Pseudo-Random Number Generator
    • Deprecate the Applet API for Removal
    • New macOS rendering for Java 2D API
    • Remove the experimental AOT and JIT compiler
  • Java 16 (Mar, 2021)

    • Records (standard)
    • Pattern matching for instanceof (standard)
    • Sealed classes (preview 2)
    • Unix-Domain Socket Channels
    • Warnings for Value-Based Classes
    • Foreign-Memory Access API (incubator)
    • Vector API (incubator)
    • Foreign Linker API (incubator)
    • Packaging Tool
  • Java 15 (Sep, 2020)

    • Sealed classes (preview)
    • Hidden classes
    • DatagramSocket reimplementation
    • Pattern matching for instanceof (preview 2)
    • Records (preview 2)
    • Foreign-Memory Access API (incubator)
    • GCs ZGC and Shenandoah turned final
  • Java 14 (Mar, 2020)

    • Switch expression (standard)
    • Pattern matching for instanceof (preview)
    • Text blocks improvements (preview 2)
    • Records (preview)
    • Helpful NullPointerExceptions
    • Packaging tool
    • JFR even streaming
  • Java 13 (Sep, 2019)

    • Switch expression (preview 2)
    • Text blocks (preview)
    • String API updates
    • NIO updates
    • Socket and ServerSocket reimplementation (Project Loom)
    • Dynamic CDS Archives
    • ZGC: Uncommit Unused Memory
  • Java 12 (Mar, 2019)

    • Switch expression (preview)
    • Compact Number Format
    • Collectors improvements
    • CompletableFuture improvements
    • CDS enable by default
    • New GC and improvements
  • Java 11 (Sep, 2018)

    • Removal of Java EE Modules, JavaFX and deprecated API
    • Http Client (incubator)
    • var in lambda expressions
    • API improvements
    • Null I/O
  • Java 10 (Mar, 2018)

    • Process API improvements
    • Collections improvements
    • Application Class-Data Sharing
    • var keyword to declare variables
  • Java 9 (Sep, 2017)

    • Milling Project Coin
    • Process API
    • Platform Logging API and Service
    • Concurrency improvements
    • Collections improvements
    • Project Jigsaw
    • Segmented code cache
    • JShell
    • much more (see JEPs)
  • Java 8 (Marc, 2014)

    • API
    • Stream API
    • Project Lambda
    • Repeating annotations

Helpful Links

About

Exploring Java 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.2%
  • Shell 3.5%
  • HTML 0.3%