Introduction to Java SE 17

Java SE 17, officially released on September 14, 2021, marks a significant advancement in the Java platform as the second Long-Term Support (LTS) release under Oracle’s six-month release cadence. This version is set to enjoy LTS until September 2029, ensuring sustained support and updates for enterprise and production environments.

Quick Facts about Java SE 17

  • Official Release Date: September 14, 2021
  • LTS Support End Date: September 2029
  • Download Link: Java SE 17 Installer (Ensure you agree to Oracle’s license terms before downloading.)

Key Highlights

  • Records: Simplify the creation of data-carrying classes with minimal boilerplate code, making it easier to create immutable data classes.
  • Sealed Classes: Introduce a new way to restrict which classes or interfaces can extend or implement them, improving control over inheritance and enhancing API design.
  • Pattern Matching for instanceof: Streamline code by reducing the need for explicit casting, making instance checks and castings more concise and readable.
  • Text Blocks: Facilitate the writing of multiline string literals, enhancing readability and reducing the need for escape sequences in complex strings.


  • This course focuses exclusively on Long-Term Support (LTS) versions and standardized features.
  • You will not encounter preview or incubator features, nor non-LTS versions.
  • Instead, you’ll see features once they’re officially standardised, and features from non-LTS versions will be included in the next LTS versions’ summary and deep dive.
  • This chapter assumes familiarity with the previous LTS version of Java (Java 11).
  • We will cover all new features from every version since Java 11, including those from Java 12 through Java 16, leading up to and including Java 17.