Java SE/Java EE/Java MEの今後は
日本オラクルは4月4日と5日の2日間、六本木アカデミーヒルズで技術者向けイベント「JavaOne Tokyo 2012」を開催した。日本でJavaOneが開催されたのは、2005年以来7年ぶりのこと。全国からJava開発者が集まり、Java周辺の最新動向や技術的なTips、活用事例などの情報を共有しあった。
本稿では、Java SE/Java EE/Java MEの3つのJavaプラットフォームが今後どうなっていくのかという点に注目して、JavaOne Tokyo 2012の様子をレポートする。
Javaは進化を続ける
基調講演に登壇したオラクル Java Product Managemet DirectorのNaveen Asrani氏は、Javaの進化を支える3つの柱として「証明された技術」「コミュニティによる進展」「プラットフォームへの投資」を挙げ、「この3本柱によって、Javaはこれからもオラクルの下で進化を続ける」と語った。
いまでもJavaが成長しているのは、昨今のJava関連製品のリリース状況やコミュニティの盛り上がりを見れば分かる。次の3枚のスライドは、Asrani氏が示した現時点でのJavaのスコアカードだ。
詳しくは後述するが、オラクルは2011年にJavaのコアプラットフォームの最新版Java SE 7をリリースし、開発の焦点はすでに次バージョンとなるJava SE 8に移っている。Java EEについても、次期バージョンであるJava EE 7の仕様策定が順調に進められている。Java MEは組み込みの世界で高い普及率を誇っているが、モバイル分野の最新動向に合わせる形のプロダクト戦略を打ち出している。
Java SE/JDKの行く末
ここからはJava SEおよびJDKの動向から見ていこう。この4月に、JDKはマイナーバージョンアップ版のJDK 7 Update 4(以下、「JDK 7u4」)がリリース予定だ。JDK 7u4の注目点としては次の内容が挙がった。
- Mac OS X向けベータ版のリリース
- JRE 7がJava Updateで配信
- JRockitのパフォーマンスに関する機能の統合
- G1 GCが標準のGCになる
- Tiered Compilation(階層型コンパイル)がデフォルトに
また、JDK 7u4と同時期にJavaFX 2.1も登場する予定だ。
JDK 7は2012年内にUpdate 6がリリースされる予定で、このリリースではMac OS X版の正式リリースや、複数OS間の自動アップデートのサポートなどといった拡張が加わる見込みだ。
JDKの次期バージョンであるJDK 8は、2013年の夏ごろにリリース予定。JDK 8では、主に次のような新機能が加わる予定だ。
- Project Lambda - タスクを簡単に記述するための新しい構文の導入
- Project Jigsaw - 新しいモジュールシステム
- JavaFX 3.0 - 次期バージョンのJavaFX
- JavaScriptエンジン - Rhinoに変わる新しいJavaScriptエンジン「Project Nashorn」の搭載
- Oracle JVMの統合 - オラクル製のJVMであるJRockitが持つ各種機能のHotSpotへの統合
- Project Coin - 小さな言語仕様の変更(JDK 7に含まれなかったもの)
- デバイスサポートの強化 - マルチタッチやカメラ、位置情報、加速度センサなど
- アノテーションの拡張 - 型に対するアノテーションのサポート(JSR 308)
ここで最も注目すべきは「Lambda」「Jigsaw」という2つのプロジェクトだろう。Project Lambdaは、当初「クロージャ」として導入が検討されていた機能である。紆余曲折を経て、言語としてクロージャを導入するという目的から、「小さなタスクを簡単に作成するための構文を導入する」という方向に落ち着いた。
重要なのは、この新しい構文によって並列処理を行うタスクが簡単に作れるようになるという点である。Java SE 7からは並列処理をサポートする機能としてFork/Join Frameworkが加わったが、Project Lambdaが導入されれば、より簡単に並列処理プログラムを書けるようになるのだ。
Project JigsawはJavaアプリケーションをパッケージングする際に効果を発揮する新しいモジュールシステムである。Jarファイルを中心とした現在のモジュールシステムは、ライブラリ間の依存関係が複雑に絡み合った「Jar地獄」と呼ばれる問題の温床となっている。これをを解消して、もっとシンプルな形でモジュール化できるようにしようという目的で始まったのがProject Jigsawだ。
「JRockit」というのは、標準のJDKに搭載されている「HotSpot」と呼ばれるJVMとは別の、オラクルが独自開発しているJVMである。サン・マイクロシステムズの買収によってオラクルは2つのJVMを持つことになったが、JDK 8までに両者は完全に統合されるとのこと。統合は、お互いの良い部分を残す形で行われるという。
例えば、JRockitは「Mission Control」「Fligt Reorder」といった優れたプロファイリングツールを持っている。メモリリークを検出する「Memleak」なども評価が高い。これらの機能を、JDKのアップデートの中で段階的にHotSpotに統合していき、最終的にJDK 8では単一のJVMになるというわけだ。
HotSpotとJRockitの統合については記事「オラクル買収後のJava 7と8、JavaFXはどうなるのか」も参照していただきたい。
Copyright © ITmedia, Inc. All Rights Reserved.