Oracle、「Java SE 10/JDK 10」の一般提供を開始6カ月サイクルでの初リリース

Oracleは、ローカル変数型推論や実験的なJavaベースJITコンパイラなど、多数の新機能を備える「Java SE 10(JDK 10)」の一般提供を開始した。

» 2018年03月23日 08時00分 公開
[@IT]

 Oracleは2018年3月20日(米国時間)、「Java SE(Standard Edition) 10/JDK(Java Development Kit) 10」の一般提供を開始したと発表した。JDK 10は、Javaの標準化機関であるJava Community ProcessのJSR(Java Specification Request) 383で規定された「Java SE 10 Platform Specification」の本番対応のオープンソースレファレンス実装だ。

 Oracleは、2017年9月にJava SEについて6カ月間隔のリリースへ移行することを発表しており、この間隔で初めてリリースされたJava SE 10は、「ローカル変数型」「G1(ガベージファースト)の並列Full GC(ガベージコレクション)」「JavaベースJIT(Just-In-Time)コンパイラをはじめとする実験的機能」といった多数の新機能を提供する。

 Java SE 10は、OpenJDK Communityとの密接な協力によって開発された。Java SEプラットフォームのオープンソース実装に関しては、OpenJDK Communityのさまざまな貢献者が10年以上にわたって協力している。Java SE 10の主な新機能は以下の通り。各機能は、JDK Enhancement Proposal(JEP)で定義されている。

  • GCインタフェース:クリーンなGCインタフェースの導入により、さまざまなGCのソースコード分離を改善(JEP 204)
  • ローカル変数型推論:Java言語の拡張により、イニシャライザを持つローカル変数の宣言に型推論を拡張(JEP 286)
  • JDKフォレストのシングルリポジトリーへの集約:開発を容易かつ効率化するために、JDKフォレストの多数のリポジトリーを1つのリポジトリーに集約(JEP 296)
  • アプリケーションクラスデータ共有:既存のクラスデータ共有(CDS)機能を拡張し、アプリケーションクラスを共有アーカイブに配置することで、起動時間とフットプリントを最適化(JEP 301)
  • G1の並列Full GC:Full GCの並列化により、G1の最悪の場合におけるレイテンシを改善(JEP 307)
  • スレッドローカルハンドシェイク:グローバルVM(仮想マシン)セーフポイントを実行することなく、スレッドのコールバックを実行する方法を導入。これにより、スレッドを個別に低コストで停止できる(JEP 312)
  • ネイティブヘッダジェネレータツールの削除:javacの優れた機能に取って代わられているため、JDKからjavahツールを削除(JEP 313)
  • 追加Unicode言語タグ拡張:java.util.Localeと関連APIの拡張により、BCP(Best current practice) 47言語タグの追加的なUnicode拡張を実装(JEP 314)
  • 代替メモリデバイスへのヒープ割り当て:「HotSpot VM」がJavaヒープを、ユーザーに指定された代替メモリデバイス(NV-DIMMなど)に割り当てることができる(JEP 316)
  • 実験的なJavaベースJITコンパイラ:JavaベースJITコンパイラ「Graal」を、Linux/x64プラットフォームで実験的JITコンパイラとして使用できる(JEP 317)
  • ルート証明書:JDKでルート認証局(CA)証明書のデフォルトセットを提供(JEP 319)
  • タイムベースのリリースバージョニング:Java SE PlatformとJDKのバージョン文字列スキームおよび関連するバージョニング情報を見直し、今後のタイムベースのリリースモデルに合わせる(JEP 322)
OpenJDK Community OpenJDK Community

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。