[速報]Java 9が正式リリース、Javaをモジュール化するProject Jigsawがついに実現。今後のJavaは6カ月ごとタイムベースのアップデートへ

2017年9月22日

米オラクルは9月21日(日本時間9月22日未明)、Javaの最新バージョンとなるJava 9正式版を公開しました。

Java 9最大の新機能は「Project Jigsaw」として開発されたJavaのモジュール化機能です。おそらくJavaの開発のなかでももっとも難産なプロジェクトだったといえるでしょう。

難産の末にProject Jigsawがついに実現

Javaをモジュール化して必要な部分だけを使えるようにすることで、Javaライブラリの複雑な依存関係の解消やJavaのスリムダウンを実現するという、意欲的な仕様および実装の実現を目指したProject Jigsawは、2011年にリリースされたJava 7に組み込まれる予定でした。

しかし開発の遅れで入らず、2014年にリリースされたJava 8にも議論の末に見送ることが決まり、Java 9で実現するべく作業が進められていましたが、それでもProject Jigsawの開発の遅れでJava 9のリリース予定は何度も延期されてきました。

Project JigsawJavaOne 2015でJava 9に組み込まれる機能として紹介されるProject Jigsaw

今年に入ってもまだProject Jigsawは、その仕様であるJSR 376(JPMS:Java Platform Module System)を承認するかどうかの議論がコミュニティで続き、6月に行われたパブリックレビューの再投票でようやく修正案が可決。今回の正式リリースへとこぎつけました。

参考記事

Javaの次のバージョンとなるJava SE 8に新機能として入る予定だったProject Jigsawについて、実装時期を延期する提案をするとOracleのJava Platform Groupチーフアーキテクト、Mark Reinhold氏が書いたブログ「Project Jigsaw: Late for the train」で表明されています。

Javaをモジュール化して必要な部分だけを使えるようにすることで、Javaライブラリの複雑な依存関係の解消やJavaのスリムダウンを実現する「Project Jigsaw」の仕様であるJSR 376(JPMS:Java Platform Module System)のコミュニティが締め切られ、ほぼ全会一致で可決されたことが明らかになりました。

Javaのシェル「Jshell」も

JavaのAPIをシェルからインタラクティブに使えるという「Jshell」も、Java 9の新機能として注目されています。

シェルからAPIの探索にも使え、補完機能があるのでAPIがどんなメソッドを使えるのか調べるときの支援ツールにもなります。

JShellJavaOne 2016で紹介されたJshell

一方でJava 9は日付や通貨のデフォルトフォーマットが変更され、いくつかの構文や演算子の変更や廃止が行われるなど、Java 8以前との互換性は保証されていません。Java 9への移行へは十分な調査などを行うべきでしょう。

Java 9からは6カ月ごとのタイムベースでアップデート

これまでJavaは大きな機能追加を契機に数年ごとのメジャーバージョンアップを行ってきました。しかしJava 9以降は6カ月ごとのタイムベースでアップデートを行っていく提案が行われています

おそらく今後は3月と9月の6カ月ごとのリリースと、セキュリティフィクスやバグフィクスのための3カ月ごとのリリース、そして長期サポートの対象となる3年ごとのリリースを組み合わせたリリースサイクルでJavaがアップデートされていくことになると見られます。

10月には年に一度のJavaの大きなイベント、JavaOneが予定されています。そこではおそらくこのリリースサイクルやJava 9以降のロードマップなどについてあらためて説明されていくことになるでしょう。

参考記事

2017年9月に「Java 9」が登場したばかりですが、いまから1カ月後の2018年3月には早くもJavaの新バージョン「Java 10」がリリースされます。そしてその6カ月後の9月にはさらに次の「Java 11」がリリース予定です。

Java 9から、Javaは6カ月ごとのタイムベースによるアップデートサイクルが採用されました。そしてその最初のワンサイクルが経過し、Java 9の次のメジャーバージョンアップとなるJava 10が登場する予定です。

関連記事

あわせて読みたい

Java プログラミング言語 Oracle




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本


<!- script for simple analytics events -->