ITmedia NEWS > 社会とIT >

「Java 17」正式版がリリース M1 Macをサポート

» 2021年09月15日 16時44分 公開
[新野淳一ITmedia]

この記事は新野淳一氏のブログ「Publickey」に掲載された「3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など」(2021年9月15日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。

 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年にその計画が発表されたときにオラクルから示されたリリース計画の図です。

photo

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

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

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

主な新機能など

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

photo

 継承できるクラスを制限する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リリース記念のオンラインイベントを開催されるようです。興味のある方は参加されてはいかがでしょうか。

Copyright © ITmedia, Inc. All Rights Reserved.