JavaOneレポートの2回目は筆者が聴講したセッションの中から、興味深かったセッションをレポートします。

 筆者はJava SEを中心にセッションを聴講しましたが、今年はやはりJava SE 9関連のセッションが充実していました。Java SE 9の新機能を紹介するセッションはもちろん、マイグレーションや運用に関するセッションなども人気があったようです。

 残念ながらJava SE 9のリリースは2017年7月に延期されてしまいましたが、Java SE 9の情報は豊富になってきています。本レポートでも、Java SE 9に関するセッションを中心にレポートします。

JDK 9 Language, Tooling, and Library Features

 Java SE 9の機能を全般に渡って解説するセッションです。

 スピーカーはOracleのJoseph Darcy氏(写真1)。彼はProject Coinのスペックリードであり、Java SEの言語仕様のとりまとめ役というべき人物です。

写真1●Joseph Darcy氏
[画像のクリックで拡大表示]

 Java SE 9で最も大きな変更はProject Jigsawによるモジュール導入です。しかし、それ以外にもJava SE 9では多くの機能が導入されます。

ツール

 JDK 9での新しいツールといえば、キーノートでも紹介された「jshell」です。

 前回紹介したように、jshellはJavaの「Read-Eval-Print Loop」(REPL)になります。jshellを使用すれば、コードの断片でも実行することができます。例えば、学習用途などに適しています。

 Java SE 9で大きく変わったツールとしてjavadocコマンドがあります。

 Java SE 9で、やっとjavadocコマンドがHTML 5に対応します。

 ただし、HTML 5形式で出力しても3つのフレームで表示されるのは、変更がありません。その代わりといってはなんですが、Javadocの各ページに検索窓が追加されました。図1に新しいJavadocの検索窓を示しました(赤字部分)。検索は全てクライアントサイドで行っているので、サーバーを立てる必要はありません。

 その他に、javadocコマンドで使用できるDoclet APIも、機能拡張されています。

図1●Javadocの検索
[画像のクリックで拡大表示]

 javacコマンドもかなり変更されています。Project Jigsawへの対応も大きな変化ですが、それ以外にも多くの変更があります。

 例えば、今まで指定したバージョンのクラスファイルにコンパイルするには、-source、-target、-bootclasspathという3つのオプションを指定する必要がありました。これに変わり、--releaseというオプションだけで、指定したバージョンのクラスファイルを生成できます。

 また、型推論が何重にも入れ子になっている場合、コンパイル時間が急激に増加する問題がありました。これもJava SE 9で解消されています。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら