DEV Community

Tapas Pal
Tapas Pal

Posted on

6. Java new Features

**5. Java 25 LTS new Features**   -  September 2025
Enter fullscreen mode Exit fullscreen mode
**4. Java 21 LTS new Features**   -  September 2023
Enter fullscreen mode Exit fullscreen mode
**3. Java 17 LTS new Features**   -  September 2021  
Enter fullscreen mode Exit fullscreen mode
**2. Java 11 LTS new Features**   -  September 2018
Enter fullscreen mode Exit fullscreen mode
**1. Java 8 LTS new Features**    -  March 2014
Enter fullscreen mode Exit fullscreen mode
  • Lambda Expressions, a new language feature, has been introduced in this release. They enable you to treat functionality as a method argument, or code as data. Lambda expressions let you express instances of single-method interfaces (referred to as functional interfaces) more compactly.
  • Method references provide easy-to-read lambda expressions for methods that already have a name.
  • Default methods enable new functionality to be added to the interfaces of libraries and ensure binary compatibility with code written for older versions of those interfaces.
  • Repeating Annotations provide the ability to apply the same annotation type more than once to the same declaration or type use.
  • Type Annotations provide the ability to apply an annotation anywhere a type is used, not just on a declaration. Used with a pluggable type system, this feature enables improved type checking of your code.
  • Improved type inference.
  • Method parameter reflection.

Collections

  • Classes in the new java.util.stream package provide a Stream API to support functional-style operations on streams of elements. The Stream API is integrated into the Collections API, which enables bulk operations on collections, such as sequential or parallel map-reduce transformations.

  • Performance Improvement for HashMaps with Key Collisions

Concurrency

  • Classes and interfaces have been added to the java.util.concurrent package.

  • Methods have been added to the java.util.concurrent.ConcurrentHashMap class to support aggregate operations based on the newly added streams facility and lambda expressions.

  • Classes have been added to the java.util.concurrent.atomic package to support scalable updatable variables.

  • Methods have been added to the java.util.concurrent.ForkJoinPool class to support a common pool.

  • The java.util.concurrent.locks.StampedLock class has been added to provide a capability-based lock with three modes for controlling read/write access.

Top comments (0)