Java5の仕様を確認する(その1)
Javaとは古いつきあいなのだが、ここ数年はコードすることもなかった。
Java5(Tiger)が出て、さぁ、やるか、というタイミングで仕事が大きく変わってしまったから。
なので、世の中(現時点のJavaのバージョンはJava6_11)から随分と取り残されてしまった感が否めないが、以前に取っていたメモをもとに、もう一度、頭から確認して行こうと思う。
まずは、主要なドキュメントから。
Java5はJSR176としてリリースされた。2を見るとファイナル・リリース(Final Release)が2004年9月となっていて、JCPのプロセス(Stage)でいうとメンテナンス・レヴュー(Maintenance Review)に入っている(JCPのプロセスの説明は、こちら)こと、メンテナンス・リリース(Maintenance Release)なしにJava6へバージョンアップしたこと、そして、このJSRに含まれる主要なJSRがわかる。
「J2SDK1.4」が「Java5」と呼称変更になったくらいなので、JSRには大きな革新が含まれている。目に留まるものを列挙すると
JSR-003 | JMX(TM) Specification |
JSR-014 | Add Generic Types for Java(TM) programming language |
JSR-174 | Monitoring and Management Spec. for JVM |
JSR-175 | A Metadata Facility for Java(TM) programming language |
JSR-201 | Extending the Java(TM) programming language with Enumeration, Autoboxing, Enhanced for loops and Static Import |
こんなものが含まれている。
「Java programming language」という言葉が多く出てくるところから分かるように、沢山のSyntaxの変更が含まれている。
上に列挙したものは、主に
と分類されていた。
JSR-014で取り込まれた機能は、たんに「Generics」、JSR-175は「メタ・データ」、JSR-201は「Enum(列挙)型の追加」、「拡張for文」、「Autoboxing/Auto-unboxing」、「静的クラス/変数のImport」とか呼ばれている。
また、jconsoleというモニタリングツールがバンドルされるようにもなったが、これはJSR-174を実現する実装である。