Oracleは9月21日(米国時間)、"Java 9"ことJava SE 9の一般提供(GA)を開始した。すでにダウンロードも可能となっている。
- Java SE Downloads -Oracle Technology Network
Java 9の最大の目玉はもちろんモジュール化システム「Project Jigsaw」だ。JDK、ランタイム、そしてソースコードに至るまで、Javaの"標準"モジュールシステムとして実現が図られてきたProject Jigsawは、複雑な依存関係などクラスパスの問題を解決し、モジュール化によって「Jarの地獄(Jar Hell)から開発者を解放する」と言われている。
一方でProject Jigsawの実装をめぐってはJava 7以来、10年近くに渡ってコミュニティ内で議論が紛糾し続けたという歴史がある。Java 9のリリーススケジュールが延期に延期を重ねてきたのもこのProject Jigsawが最大の要因であり、2017年に入っても議論は収束せず、Java 9の最初のリリース候補版が出たのは8月のこと。とくにIBMやRed Hatといった有力なメンバーが最後までProject Jigsawの導入に抵抗を示したことがリリースの遅れに拍車をかけた。
Project Jigsawのほかにも、Java 9には以下のように多くの機能が強化/追加されている。
- コンソールからJava APIを利用できるシェル「JShell」
- JSONドキュメント/データストリームを生成する「Lightweight JSON API」
- Process APIの強化
- コードキャッシュを異なるセグメントに分割する「Segmented Code Cash」
- 新しいHTTP2クライアント(HTTP/2およびWebSocket)
- JavaScriptエンジン「Nashorn」用のパーサAPI
なおOracleは10月1日~5日(米国時間)の5日間に渡り、サンフランシスコにおいてJavaの年次カンファレンス「JavaOne 2017」を開催する。今後のJavaのロードマップやJava EEなどの動きに関しても発表があることを期待したい。