【デブサミ2012】17-B-2 レポート 進化しつづけるJava。キーワードは生産性、マルチコアCPU、小型機器、クラウド

CodeZine / 2012年3月8日 14時0分

図2 Java EE7はクラウドにフォーカス

 本稿では、「Developers Summit 2012」(デブサミ2012)において、2月17日に行われた日本オラクル株式会社 シニアJavaエバンジェリスト 寺田佳央氏によるセッション「JavaOne TokyoとJavaの今後について」の内容を紹介する。

 1996年に登場したJavaは現在、組み込み、デスクトップ、エンタープライズの分野において第一線で採用されている。オラクルは、今後もJavaを進化させていくことを表明しており、2021年までの開発ロードマップも公表された。寺田佳央氏のセッションは今後リリース予定のJava SE8、Java EE6に盛り込まれる注目機能を紹介するものとなった。

日本オラクル株式会社 Fusion Middleware 事業統括本部
ビジネス推進部 シニア Java エバンジェリスト 寺田佳央氏


■開発者に高い生産性を提供するJava SE8

 日本オラクルの寺田佳央氏がデブサミ2011に続いて登壇。「JavaOne TokyoとJavaの今後について」と題するセッションを行った。昨年は、OracleがSunを買収したことで、Javaの今後について不透明要素が残っていたタイミングだったが、この1年で、Sun時代の末期よりも着実に進化し続けている。その象徴が2011年7月にリリースされたJava SE7だ。Oracleでは「Moving Java Forward」をテーマとして掲げており、そこでのポイントはJavaの開発者数の増加、採用実績の拡大、競争力の拡大、市場変化への適用になる。

 では次の2013年夏リリース予定のJava SE8には、どのような機能が盛り込まれるのか(図1)。まずNashornという、JavaのVM上で動くJavaScriptのエンジンが現在のRhinoに変わって提供される。NashornはSE7でJRubyなどの動的言語を効率的に利用するために盛り込まれたバイトコード命令invokedynamicを実装したもので、Rhinoと比較して高いパフォーマンスを得られるようになる。JVMについては、オラクルがもつ旧BEAポートフォリオの「Oracle JRockit」とSun由来の「HotSpot」が統合され、「HotRockit」という開発コードネームで開発中だ。また旧来のマルチスレッドの書き方では対応が難しいマルチコアCPUの性能を楽に引き出せるようにするため、Lambda式をサポートする。

 またProject jigsawにより、新しくモジュール化という概念が入る。今までJavaのライブラリを使う際、例えばアプリケーションサーバーを起動する際には、大量のjarを列挙する必要があった。モジュール化を使うことにより、jar地獄から解放される。パフォーマンスも起動時、運用時ともに向上する。例えば起動時では、一度アプリケーションを起動する際に読み込んだモジュールの一覧を特定のファイルに書き出し、再起動の際にそれを読み込むことにより起動が早くなる。運用時には、必要なタイミングでモジュールをダウンロードして使うことで、パフォーマンスを高める機能も考えられている。

 さらに重要なポイントとなるのが、小型機器への対応だ。今までJava MEがターゲットとしてきたハードウェア機器の性能が上がったことで、Java SEのサブセットで十分に動く時代になっている。そこで小型機器へのJava SEのサブセットが用意され、SEが提供している機能が使える様になる予定だ。

 またJavaのリッチクライアントを作成する新しい技術であるJavaFXが、Java SEの標準ライブラリとして取り込まれる。一方、現在の主流のSwingのライブラリも引き続き提供されるが、新たな機能追加などがないメンテナンスモードに入る。

 またすでにJava SE9の検討も開始されている。ポイントは統合運用性、クラウド対応、最適化などだ。セッションでは今後のロードマップも披露された。2013年にJDK 8がリリースされ、2015年にJDK9というように2021のJDK 12まで、2年周期で提供される予定だ。

図1 Java SE8、2013年夏リリース予定



CodeZine

トピックスRSS

ランキング