Skip to content

miliariadnane/java-releases-timeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Versions

This Book provides a comprehensive overview of the features and changes introduced in each version of Java, starting from Java 8 and up to the latest version, Java 25. The goal of this reference is to help Java developers stay up to date with the latest advancements in the Java programming language, as well as to provide a historical perspective on its evolution.

Long-Term Support (LTS) Versions

The documentation includes Long-Term Support (LTS) versions of Java that receive extended support and updates:

  • Java 8 (LTS) - March 2014 - Extended support until 2030
  • Java 11 (LTS) - September 2018 - Extended support until 2026
  • Java 17 (LTS) - September 2021 - Extended support until 2029
  • Java 21 (LTS) - September 2023 - Extended support until 2031
  • Java 25 (LTS) - September 2025 - Extended support until 2033+

Version Documentation

The first major version with functional programming support, introducing Lambda expressions, Stream API, and Optional.

Introduction of the Java Platform Module System (JPMS/Project Jigsaw).

Local variable type inference with the var keyword.

HTTP Client API, String methods enhancements, and various performance improvements.

Switch expressions (preview) and compact number formatting.

Text blocks (preview) for multi-line strings.

Records (preview), pattern matching for instanceof (preview), and helpful NullPointerExceptions.

Sealed classes (preview) and hidden classes.

Records and pattern matching become standard features.

Sealed classes finalized, enhanced pseudo-random number generators, and strong encapsulation of JDK internals.

Simple web server, code snippets in Java API documentation, and UTF-8 by default.

Virtual threads (preview), structured concurrency (preview), and pattern matching for switch (preview).

Scoped values (preview), record patterns (preview), and pattern matching enhancements.

Virtual threads finalized, sequenced collections, pattern matching for switch finalized, and string templates (preview).

Primitive types in patterns (preview), flexible constructor bodies, scoped values finalized, generational Shenandoah GC, and Vector API enhancements.


🎯 Focus Areas for Interview Preparation

For LTS Versions (Most Important)

Java 8 (LTS):

  • Lambda expressions & functional interfaces
  • Stream API operations
  • Optional for null handling

Java 17 (LTS):

  • Sealed classes
  • Pattern matching for instanceof
  • Records
  • Text blocks

Java 21 (LTS):

  • Virtual threads (Project Loom)
  • Sequenced collections
  • Pattern matching for switch
  • Structured concurrency

Java 25 (LTS):

  • Primitive types in patterns
  • Flexible constructor bodies
  • Generational Shenandoah GC
  • Vector API for SIMD operations

📖 How to Use This Documentation

  1. For Beginners: Start with Java 8 to understand the functional programming foundation
  2. For Interview Prep: Focus on LTS versions (8, 11, 17, 21, 25) as they're most commonly used in production
  3. For Migration: Compare versions to understand what changed between your current and target version
  4. For Advanced Topics: Explore preview features in recent versions to stay ahead of the curve

🔗 Additional Resources

Releases

No releases published

Packages

 
 
 

Contributors