今月から、久々のJavaのメジャーバージョンアップであるJava SE 7を紹介していきます。

 Java SE 6がリリースされたのが2006年12月ですから、もう5年にもなろうとしています。これだけの時間がかかってしまったことからもわかるように、Java SE 7の仕様が決まるまでは紆余曲折の歴史でした。

 もともと、Java SE 7はJava SE 6と一緒に仕様を決め、簡単に実現できる機能をJava SE 6、実現に時間がかかる機能をJava SE 7にすることになっていました。その当時、Java SE 7に盛り込まれる機能としてリストアップされていたのが、クロージャやfriendです。

 クロージャのすったもんだについては本連載の「クロージャからProject Lambdaへ」で言及しました。その後、Project Lambdaは再び仕様が変更されています。

 friendはスーパーパッケージという名前に変更され、パッケージを包含する新しいモジュールになるはずでした。しかし、こちらも議論がまったく収束せずに、一度は断念したこともありました。現在はProject Jigsawとして仕様策定が進められています。

 その後、昨年サンフランシスコで開催したJavaOne 2010において、Java SE 7の機能をJava SE 7とJava SE 8に分けることが決まりました。それについては、本連載の「JavaOne 2010レポート」で紹介したので、参考になさってください。結局、Project LambdaやProject JigsawなどはJava SE 8で提供されることになりました。

 そして、身軽になったJava SE 7は今年の7月にリリースが予定されています。

 Java SE 7の仕様はJSR 336 Java SE 7 Release Contentsで策定されていますが、実際はOpenJDKが主導して仕様策定、実装が進められています。

 では、Java SE 7にはどのような機能があるのでしょうか。主な機能を以下に示しました。

 この他にもクラスローダのアーキテクチャの改良や、Unicode 6.0への対応など、さまざまな機能が盛り込まれています。

 そこで、本連載ではJava SE 7の機能を1つずつ紹介していくことにします。

 第1回目の今回はJSR 334 Small Enhancement to the Java Programming Language、つまりProject Coinを紹介します。

 なお、Java SE 7は、2011年2月23日にDeveloper Previewが公開されました。Developer Previewではほぼすべての機能が実装されています。しかし、まだ正式リリースではないため、細かな仕様の変更も予想されます。この点をご了承ください。

 連載中に仕様変更等がありましたら、その都度言及するようにします。

 また、OpenJDKのJDK7プロジェクトではビルドを毎週リリースしています。Developer Previewがリリースされた後も、ビルドが更新されています。ここでは、原稿執筆時点での最新ビルドであるbuild 138を使用しました。

 ビルドのダウンロードはjava.netのJDK7プロジェクトのダウンロードサイトより行うことができます。JDKのインストールは、既存のJDKのインストールと変わらないため、ここでは省略させていただきます。

この先は会員の登録が必要です。今なら有料会員(月額プラン)は12月末まで無料!

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