Skip to content

This Repository contains explanations about Java Features since version 8 to 17

Notifications You must be signed in to change notification settings

josevicenteayala/JavaFeatures

Repository files navigation

Java Evolution: Features from Java 8 to 21

Welcome to the Java Evolution repository, where we document the journey of Java from version 8 through 21, covering all the major features and changes introduced in each version. This repository aims to serve as a comprehensive guide for developers at all levels to understand the evolution of Java, enabling them to make the most of the language's capabilities in their projects.

JavaEvolution.jpg

Objective

Our goal is to provide a detailed exploration of each feature introduced in Java from version 8 onwards, including examples and explanations to help Java developers grasp the concepts and apply them in practice.

Repository Structure

  • Version Directories: The repository is organized into directories named after each Java version (e.g., Java_8, Java_9, etc.), containing detailed documentation and examples for the features introduced in that version.
  • README Files: Each version directory includes a README.md with an overview of the key features introduced in that version, along with links to detailed explanations or code examples where applicable.
  • Feature Documentation: Complex features have their own Markdown files or code examples within the relevant version directory, providing a deeper dive into their usage and benefits.

How to Navigate

  • To explore the features introduced in a specific version of Java, navigate to the corresponding version directory.
  • For an overview of the features in each version, refer to the README.md files within each version directory.
  • For detailed explanations and examples of specific features, look for additional Markdown files or code examples within the version directories.

How to Contribute

We welcome contributions from the community! Whether you'd like to add examples, improve explanations, or update the documentation for newer Java versions, your input is valuable. Please refer to the CONTRIBUTING.md file for guidelines on how to contribute effectively.

Java Version Features Overview

Below is a brief overview of the key features introduced in Java from version 8 to 21. This serves as a starting point for the detailed documentation you'll find in this repository.

Java 8 (March 2014)

Lambda Expressions, Streams API, Date and Time API, Default Methods, Type Annotations

Java 9 (September 2017)

Module System (Project Jigsaw), JShell, Private Interface Methods, Immutable Collections

Java 10 (March 2018)

Local-Variable Type Inference (var), Application Class-Data Sharing

Java 11 (September 2018)

HttpClient API (Standard), New String Methods, Local-Variable Syntax for Lambda Parameters

Java 12 (March 2019)

Switch Expressions (Preview), Compact Number Formatting

Java 13 (September 2019)

Text Blocks (Preview), Switch Expressions (Standard)

Java 14 (March 2020)

Records (Preview), Pattern Matching for instanceof (Preview), Helpful NullPointerExceptions

Java 15 (September 2020)

Sealed Classes (Preview), Text Blocks (Standard), Pattern Matching for instanceof (Second Preview)

Java 16 (March 2021)

Records (Standard), Pattern Matching for instanceof (Standard), Sealed Classes (Second Preview)

Java 17 (September 2021) - LTS

Sealed Classes (Standard), Pattern Matching for Switch (Preview), New macOS Rendering Pipeline

Java 18 (March 2022)

Simple Web Server (Incubator), Code Snippets in Java API Documentation

Java 19 (September 2022)

Virtual Threads (Preview), Structured Concurrency (Incubator), Pattern Matching for Switch (Second Preview)

Java 20 (March 2023)

Record Patterns (Preview), Pattern Matching for Switch (Standard)

Java 21 (September 2023)

(Features to be documented upon release)

Additional Resources

For more in-depth information and the latest updates on Java, please refer to the official Java documentation and JDK Enhancement Proposals (JEPs).

Stay Updated

Java continues to evolve, and so will this repository. We aim to regularly update the documentation with the latest features and improvements. Your contributions and feedback are essential to keeping this resource valuable and up-to-date.

About

This Repository contains explanations about Java Features since version 8 to 17

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages