Skip to content

Latest commit

 

History

History
111 lines (82 loc) · 3.59 KB

File metadata and controls

111 lines (82 loc) · 3.59 KB

Overview

  1. Interesting features by version

Java 20:

  1. TODO

Java 19: Sept 2022

  1. JEP 405: Record Patterns
  2. JEP 427: Pattern Matching for switch (Third Preview)
  3. JEP 426: Vector API Improvements
  4. JEP 425: UNFINISHED: Virtual Threads
  5. JEP 428: UNFINISHED: Structured Concurrency
  6. JEP 424: UNFINISHED: Foreign Function & Memory API progress

Java 18: Mar 2022

  1. JEP 420 Pattern matching (affects switch & instanceof)
    1. Example: TODO
  2. JEP 419: UNFINISHED: Foreign Function and Memory API progress
    1. Example: TODO
  3. JEP 418: java.net.InetAddress improvements
  4. JEP 417: Vector API improvements
  5. JEP 400: UTF-8 by default (javac assumes UTF-8)
  6. JEP 413: @snippet in javadoc

Java 17 (LTS): Sept 2021

  1. JEP 409: Sealed classes & Interfaces
    1. TODO: Example link
  2. JEP 406: UNFINISHED: Pattern matching (affects switch & instanceof)
    • if (x instanceOf String s) { String a = s; }
  3. JEP 412: UNFINISHED: Foreign Function Interface progress (JNI replacement)
  4. JEP 403: no more -illegal-access flag
  5. JEP 356: Improvements in Random
    1. TODO: Example link
  6. Process::inputReader, Process::outputWritter, Process::errorReader
  7. java.time.InstantSource

Java 16: Mar 2021

  1. JEP 395: Records
    1. TODO: Example link
  2. JEP 386: Alpine Linux port
  3. JEP 392: jpackage
    1. TODO: Example link
  4. JEP 393: UNFINISHED: Foreign-Memory Access API progress (JNI replacement)
  5. JEP 380: Unix Domain socket channels
  6. JEP 387: Elastic metaspace
  7. : Stream.toList

Java 15: Sept 2020

  1. : Text blocks
    1. No interpolation (not templates)
  2. New String methods: formatted, stripIndent, translateEscapes

Java 14: Mar 2020

  1. switch expressions
  2. NullPointerException improvements

Java 13:

  1. TODO

Java 12

  1. New String methods: indent, transform

Java 11 - LTS

  1. New String methods: repeat, isBlank, strip, lines
  2. New HTTP client
  3. var
  4. Flight recorder
  5. Run Single-File Source-Code Programs, shebang support (#!) on Linux

Java 10

  1. Docker support: -XX:-UseContainerSupport
  2. JEP 310 Class data sharing

Java 9

  1. Set Literals: Set.of
  2. List Literals: List.of
  3. Modules
  4. Stack-Walking API
  5. Process API updates
  6. New CompletableFuture methods: delay, timeout
  7. Private interface methods
  8. Compact strings
  9. jlink
  10. jshell

Java 8 (LTS)

  1. Lambdas
  2. Method references
  3. Default methods on interfaces
  4. Optional
  5. New DateTime API

Other Resources

  1. https://en.wikipedia.org/wiki/Java_version_history
  2. https://ondro.inginea.eu/index.php/new-features-in-java-versions-since-java-8/
  3. https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-18/