3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など

2021年9月15日

Javaの新バージョン「Java 17」が正式にリリースされました。Java 17は、Java 11以来3年ぶりの長期サポート対象となるJavaのバージョンです。

6カ月ごとのフィーチャーリリースと、3年ごとの長期サポート版

Javaは、2017年9月に登場したJava 9から6カ月ごとに「フィーチャーリリース」と呼ばれるメジャーアップデートが行われています。Java 17は今年3月に登場したJava 16に続くメジャーアップデート版です。

そして2018年9月に登場したJava 11からは、3年ごとに長期サポート(LTS:Long Term Support)対象となるJavaがリリースされる計画となっていました。

下記は2017年にその計画が発表されたときにオラクルから示されたリリース計画の図です。

Javaの新しいサポートポリシー

エンタープライズ向けのシステム開発において、一定期間以上安定したJavaのバージョンで開発と運用を続けたい場合には、この長期サポート対象となっているJavaのバージョンを利用することが適切です。

Java 17はこの計画どおり、Java 11以来3年ぶりの長期サポート対象となるバージョンとして登場しました。

ちなみにJava 17登場後も、既存の長期サポート版であるJava 11は(そしてJava 8も)各Javaディストリビューションの提供元のポリシーに従ったサポートが継続されています。

主な新機能など

Java 17の新機能などについて、Oracle OpenJDK 17のリリースノートなどを基に主なものを参照しましょう。

fig

継承できるクラスを制限するSealed Classが追加されました(JEP 409)。また、Apple M1チップ(AArch64)のmacOS 11.0がサポート対象になり(JEP 391)、Apple Metalによる高速なレンダリングを提供するmacOSのAPIにも対応しました(JEP 382)。

Context-Specific Deserialization Filters(JEP 415)は、アプリケーションがデータを送受信する際に、文脈に依存したデシリアライゼーションのフィルターを実装できるようにすることで、より高度なセキュリティを実現する仕組み。

Enhanced Pseudo-Random Number Generator(JEP 356)では、より多様で高度な暗号生成の仕組みをJavaから利用できるようにしています。

ディストリビューションの選択肢が増えたJava

Javaは、オラクルが提供するOracle OpenJDKやOracle JDK、そしてIBMやRed Hatなどが以前から提供してきたディストリビューションだけでなく、Eclipse Foundationが提供するEclipse Adoptium、AWSが提供するAmazon Corretto、そしてマイクロソフトが提供するMicrosoft Build of OpenJDKなど、さまざまなディストリビューションが選択できるようになってきました。

こうしたJavaディストリビューションベンダからも、Java 17の長期サポート版がまもなく登場することになるでしょう。

Java 17の詳しい内容などについては、日本Javaユーザーグループが9月29日にJava 17リリース記念のオンラインイベントを開催されるようです。興味のある方は参加されてはいかがでしょうか。

関連記事

このJava 17に対応するOracle JDK 17から、Oracle JDKの無償提供が行われると発表されました。

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本