https://blogs.oracle.com/java-platform-group/entry/a_new_jdk_9_version
JDK 9に対し予定されている変更で、それほど大きなものではないとはいえ重要なものが、JDKバージョン文字列体系のアップデートです。詳細はJEP 233に記載されています。
JEP 223: New Version-String Scheme新しいバージョン文字列体系により、メジャー、マイナー、CPU(Critical Patch Update)リリースをより簡単に識別することができるようになります。これは、JDKバージョン文字列の一部として各プロパティを分離した数値コンポーネントとして符号化することにより実現しよう、というものです。
http://openjdk.java.net/jeps/223
Critical Patch Updates, Security Alerts and Third Party Bulletin新しいMAJOR.MINOR.SECURITYという表現方法に従い、JDK 9のバージョン文字列はMAJORリリースコンポーネントを表す9で始まります。
http://www.oracle.com/technetwork/topics/security/alerts-086861.html
例えば、もしJDK 9 GAリリース(バージョン文字列9)に続いてCPUが出た場合、CPUのバージョン文字列は9.0.1になります。
General AvailabilityそのCPUに続いて、9.0.1に対して追加変更を伴うマイナーリリースが続く場合、新リリースのバージョン文字列は9.1.1になります。
http://openjdk.java.net/projects/jdk8/milestones#General_Availability
"Massive" Minor Release Java 8u40 Packs a Punchさらに続いて、マイナーリリースに続いて別のCPUが出る場合、その新しいCPUは9.1.2になります。以下、下表のようなリリースバージョンが想定されます。
https://www.voxxed.com/blog/2015/03/massive-minor-java-release-8u40-packs-a-punch/
9 | GA |
9.0.1 | CPU:9 + 重要な変更 |
9.1.1 | マイナーリリース:9.0.1 + その他の変更 |
9.1.2 | CPU:9.1.1 + 重要な変更 |
9.2.2 | マイナーリリース:9.1.2 + その他の変更 |
9.2.3 | CPU:9.2.2 + 重要な変更 |
9.2.4 | CPU:9.2.3 + 重要な変更 |
9.3.4 | マイナーリリース:9.2.4 + その他の変更 |
バージョン文字列体系が変わることによって、JDKバージョン文字列を処理するコードの調整が必要になる場合があります。例えば、JDK 9バージョン文字列の1個目の要素が、(1.9.0_ea-b19のように)常に1という値であることを想定しており、リリースを比較する場合に常に2個目の要素へスキップして読み飛ばしているような場合です。調整の詳細はJEPの文章に記載があります。
さらに、JEPの文章では、JDK 9バージョン文字列で符号化される可能性のある他の種類の情報、9.0.1+63のようなビルド番号について記載があります。
予定されている変更を試したい開発者の方は、JDK 9 Early Access Buildをjdk9.java.netからダウンロードして試すことができます。
JDK 9 Project - Building the next generation of the JDK platform予定されているバージョン文字列体系の変更に対するフィードバックは、verona-devメーリングリストにお送りください。
http://jdk9.java.net/
0 件のコメント:
コメントを投稿