5 reasons to pick up Java 17 today!

Greg L. Turnquist
5 min readJan 5, 2023

Java 17 is the latest version of one of the most popular programming languages out there. Being a core requirement to using Spring Boot 3.0, the de facto standard Java toolkit, it’s important understand some of Java 17’s most valuable features!

In this article, we will explore some of the key features of Java 17 and how to use them in your own projects.

Java 17 is here…and it’s awesome.

1— Installing and Setting Up Java 17

Before you can start using Java 17, you will need to install it on your computer. It’s easiest to visit https://sdkman.io, install their JDK management tool, and then pick a distribution of Java 17 to install on your machine.

I have used either OpenJDK’s Adoptium Temurin distribution or BellSoft’s Liberica distribution. There are many others to pick from, but these two definitely are TCK-verified and rock solid.

If you have need to commercial support or more reliabilitity, you may need to investigate these distributions further and compare them to some of the others.

2 — Key Features in Java 17

Java 17 includes a number of new features and improvements that make it easier to write code and build applications. Some of the key features of Java 17 include:

  • Sealed Classes: Sealed classes allow you to specify which subclasses are allowed to extend a particular class, making it easier to maintain type-safety and control over your class hierarchy.
  • Text Blocks: Text blocks are a new type of string literal that makes it easier to write multi-line strings in your code. They automatically handle line breaks and indentation, making it easier to write and read code that includes large blocks of text.
  • Records: Records are a new type of data structure that make it easier to define simple classes that act as data containers. They provide a concise syntax for defining classes with a fixed number of fields, and automatically generate common methods such as equals and toString.

Why are sealed classes so cool?

In the past, you either kept your classes and interfaces basically public or private. There are differing flavors of this such as package private, which simply means…



Greg L. Turnquist

Sr. Staff Technical Content Engineer at CockroachDB • YouTube Content Creator at https://youtube.com/@ProCoderIO • Best-Selling Author • Coffee Lover