年明け早々、Sun Microsystemsは、Java技術のコアと言うべきJ2SE(Java 2 Platform, Standard Edition)1.5、コード名「Tiger」のEarly Access版を公開しました( http://java.sun.com/developer/earlyAccess/j2sdk150_alpha/)。

 Sunは、もっかEoD(Ease of Development=開発の容易さ)と呼ぶ新コンセプトに沿ってJavaの機能拡張を進めています。このEoDの目玉が、新たなサーバー・サイド新APIのJSF(JavaServer Faces)と、このJ2SE1.5です。JSFに関しては、対応ツールが登場しつつあり、このコラムでも取り上げています。

 今回アルファ版が公開されたJ2SE1.5では、Java言語仕様の大きな変更があります。J2SE1.5では新たに15種類の新JSR(Java Specification Requests)が取り入れられています。中でも、Java言語仕様に関しては「Java登場いらい最も大きな変更」(Sun担当者)が加えられていることです。それ以外にも、GC(ガーベジ・コレクタ)の変更、JMX(Java Management Extention)の採用など、稼働環境も含めて変更があります。

 言語仕様に関する拡張の概要は、2003年12月11日開催の「第3回 J2EEカンファレンス」での説明によれば、以下のようになります。

  • Generics(パラメータ付きの型)
  • Enhhanced for-loop
  • Autoboxing/Unboxing
  • Enum
  • Varargs
  • Static Import
  • メタデータ

 中でも影響が大きいのがGenericsとメタデータ。これらを使いこなすと、Java言語プログラム・コードを大幅に簡略化できるとされています。半面、実行環境の過渡期では、古い環境と新しい環境の混在という問題も出てきそうです。古いコードが新しいコンパイラを通るかどうか、といった心配をする人も多いでしょう。

 従来のJava言語は、言語仕様の改変に関しては保守的な立場を取ってきたと評価されています(JDK1.1でのInner Classの追加、J2SE1.4でのAssertionの追加はあったにせよ、です)。しかし、Java登場10周年になる2005年には、このJ2SE1.5の新しい言語仕様が使えるようになっているはずです。

 もちろん、J2SE1.5の変更点は言語だけではありません。J2SEの新バージョンは、次世代のJ2EEのコアとしての性格も持っています。JMXや並列GCなど稼働環境の強化は、J2EE上のアプリケーションで真価を発揮するものです。

 J2SE1.5の新機能がJ2EEアプリケーションに影響が及ぶのは来年以降。Java技術の機能強化は、まだまだ続いています。