ニュース
Oracle、「Java SE 10/JDK 10」の一般提供を開始:6カ月サイクルでの初リリース
Oracleは、ローカル変数型推論や実験的なJavaベースJITコンパイラなど、多数の新機能を備える「Java SE 10(JDK 10)」の一般提供を開始した。
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)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Java SE 9」「Java EE 8」、一般提供を開始
Oracleが「Java SE 9」「Java EE 8」「Java EE 8 SDK」の正式版を公開。Java SE 9は3年半ぶりのメジャーアップグレードで150以上の新機能を提供。Java EE 8ではクラウドやマイクロサービスへの対応が進められた。 - まだまだ使えるJava SEとNetBeansの基礎知識&ダウンロード、インストール
初めてJavaのWebアプリを作ってみたいという人に向けてJava SEとNetBeansの基本的な概要や環境構築方法について解説する。 - Java EE 8/9はマイクロサービス、リアクティブに向かう――MVCは生き残れるのか
デジタルトランスフォーメーション時代に生き残れるエンジニアに求められるものとは何か。長らく、日本のJavaコミュニティで存在感を示し続け、現在は日本マイクロソフトでJavaエバンジェリストとして活動する寺田佳央氏に聞いた。