Java Features

java-feactures.webp

Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

Summary of Java 8,9,11,12,13,14,15,16,17,18,19 features.

All features in a single post.

Java 19 Features :

  • Record Patterns (Preview)
  • Linux/RISC-V Port
  • Foreign Function & Memory API (preview)
  • Virtual Threads (Preview)
  • Vector API (Fourth Incubator)
  • Structured Concurrency (Incubator)
  • Pattern Matching for switch (Third Preview)

Java 18 Features:

  • UTF-8 by Default
  • Simple Web Server
  • Code Snippets in Java API Doc
  • Reimplement Core Reflection with Method Handles
  • Vector API
  • Internet-Address Resolution SPI
  • Foreign Function & Memory API
  • Pattern Matching for switch

Java 17 Features (Long Term Support) :

  • Restore Always-Strict Floating-Point Semantics
  • Enhanced Pseudo-Random Number Generators
  • New macOS Rendering Pipeline
  • macOS/AArch64 Port
  • Deprecate the Applet API for Removal
  • Strongly Encapsulate JDK Internals
  • Pattern Matching for switch

Java 16 Features:

  • Vector API
  • Enable C++14 Language Features
  • Migrate from Mercurial to Git
  • Migrate to GitHub
  • Concurrent Thread-Stack Processing
  • Unix-Domain Socket Channels
  • Alpine Linux Port
  • Elastic Metaspace
  • Windows/AArch64 Port

Java 15 Features

  • Sealed Classes and Interfaces
  • EdDSA Algorithm
  • Hidden Classes
  • Pattern Matching for instanceof
  • Removed Nashorn JavaScript Engine
  • Reimplement the Legacy DatagramSocket API
  • Records (Second Preview)
  • Text Blocks become a standard feature

Java 14 Features

  • Pattern Matching for instanceof
  • Text Blocks
  • Helpful NullPointerExceptions
  • Records
  • Switch Expressions
  • Packaging Tool
  • NUMA-Aware Memory Allocation for G1
  • JFR Event Streaming
  • Non-Volatile Mapped Byte Buffers
  • Remove the Pack200 Tools and API

Java 13 Features:

  • Text Blocks (Preview)
  • Switch Expressions Enhancements (Preview)
  • Reimplement the Legacy Socket API
  • Dynamic CDS Archive
  • ZGC: Uncommit Unused Memory
  • FileSystems.newFileSystem() Method
  • DOM and SAX Factories with Namespace Support

Java 12 Features:

  • Collectors.teeing() in Stream API
  • String API Changes
  • Files.mismatch(Path, Path)
  • Compact Number Formatting
  • Support for Unicode 11
  • Switch Expressions (Preview)

Java 11 Features (Long Term Support):

  • HTTP Client API
  • Launch Single-File Programs Without Compilation
  • String API Changes
  • Collection.toArray(IntFunction)
  • Files.readString() and Files.writeString()
  • Optional.isEmpty()

Java 9 Features:

  • Java platform module system
  • Interface Private Methods
  • HTTP 2 Client
  • JShell
  • Platform and JVM Logging
  • Process API Updates
  • Collection API Updates
  • Improvements in Stream API
  • Multi-release JAR Files
  • @Deprecated Tag Changes
  • Stack Walking

Java 8 Features (Long Term Support):

  • Lambda expression
  • Stream API
  • Functional interface
  • Default and static methods
  • Optional class
  • Nashorn – JavaScript runtime engine
  • Unsigned Integer Arithmetic
  • Repeating annotations
  • New Date and Time API

References: Oracle official website, java doc, and API specification doc.