3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など
Javaの新バージョン「Java 17」が正式にリリースされました。Java 17は、Java 11以来3年ぶりの長期サポート対象となるJavaのバージョンです。
Java 17 is now available! #Java17 #JDK17 #OpenJDK
— Java (@java) September 14, 2021
Download now: https://t.co/ui83Aehxoq
Release notes: https://t.co/VKB0vfaPsP
API Javadoc: https://t.co/VHs6UWdka8
Documentation: https://t.co/74Dk6r23Dt pic.twitter.com/NZvvxchXGT
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 17はこの計画どおり、Java 11以来3年ぶりの長期サポート対象となるバージョンとして登場しました。
ちなみにJava 17登場後も、既存の長期サポート版であるJava 11は(そしてJava 8も)各Javaディストリビューションの提供元のポリシーに従ったサポートが継続されています。
主な新機能など
Java 17の新機能などについて、Oracle OpenJDK 17のリリースノートなどを基に主なものを参照しましょう。
継承できるクラスを制限する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の長期サポートを提供へ、「Microsoft Build of OpenJDK」をリリース
- AWSが独自のOpenJDK「Amazon Corretto」発表。AWS内部で使っていたJavaを外部提供へ。Java 8は2023年まで、Java 11は2024年まで無償でLTSを提供
- AdoptOpenJDKプロジェクトがEclipse Foundationへの合流を発表。合流後の新プロジェクト名は「Eclipse Adoptium」に
こうしたJavaディストリビューションベンダからも、Java 17の長期サポート版がまもなく登場することになるでしょう。
Java 17の詳しい内容などについては、日本Javaユーザーグループが9月29日にJava 17リリース記念のオンラインイベントを開催されるようです。興味のある方は参加されてはいかがでしょうか。
関連記事
このJava 17に対応するOracle JDK 17から、Oracle JDKの無償提供が行われると発表されました。
あわせて読みたい
オラクル、Oracle JDKを再び無料提供へ、本番環境でも利用可。昨日リリースのJava 17から
≪前の記事
マイクロソフトがOpenInfra Foundation(旧OpenStack foundation)に最上位スポンサーで加盟へ。AzureブランドでOpenStackによるテレコム向けサービス拡大か?