Java 10 - 概要
Java 10 は Java リリース ケイデンスのメジャー リリースであり、2018 年 3 月 10 日にリリースされました。Java 10 では、Oracle は Java リリース ケイデンスを新しいモデル、6 か月のリリース ケイデンス、および Oracle Java SE 製品の LTS モデルに変更しました。 LTS モデルは Long Term Support モデルの略です。
Java 10 以降、Oracle は 6 か月ごとに新しいバージョンの Java をリリースし、各バージョンには 1 つまたは 2 つの主要な機能が含まれています。 Oracle は、リリース トレインの概念を使用します。各リリース トレインは 6 か月間予定されています。このタイムライン内で開発された機能は、リリースで出荷されます。それ以外の場合、機能は次のリリース トレインに移動されます。
Oracle JDK と OpenJDK の比較
Oracle JDK バイナリのほとんどは適切であり、Oracle によってライセンスされており、再配布には複数の制限があります。一方、OpenJDK はより開発者コミュニティに優しいです。 Java 10 以降、オラクルは OpenJDK を主要な JDK として促進し、Java のコミュニティ ベースの開発を促進することを決定しました。 Oracle は独自の JDK を作成し続けますが、3 年後にリリースし、LTS バージョンと呼びます。そのため、OpenJDK バイナリは 6 か月ごとにリリースされます。
OpenJDK は、コンテナーの一部として自由に配布できるため、クラウドとコンテナーに適しています。そのため、OpenJDK を推進する Oracle の動きにより、Java はクラウドまたはコンテナーの開発と展開に対してより使いやすくなります。
Java 9 と Java 10 は非 LTS リリースです。 Java 11 リリースは LTS リリースです。
新機能
以下は、Java 10 で導入された主な新機能です。
- <リ>
JEP 286 − 局所変数型推論
<リ>JEP 322 − 時間ベースのリリース バージョニング
<リ>JEP 304 − ガベージ コレクター インターフェイス
<リ>JEP 307 − G1 の並列フル GC
<リ>JEP 316 − 代替メモリ デバイスでのヒープ割り当て
<リ>JEP 296 − JDK フォレストを単一のリポジトリに統合
<リ>JEP 310 − アプリケーション クラス データ共有
<リ>JEP 314 − 追加の Unicode 言語タグ拡張
<リ>JEP 319 − ルート証明書
<リ>JEP 317 − 実験的な Java ベースの JIT コンパイラ
<リ>JEP 312 − スレッド ローカル ハンドシェイク
<リ>JEP 313 − Native-Header Generation Tool を削除
<リ>JEP 319 − ルート証明書
<リ>JEP 319 − ルート証明書
Java 10 は、70 以上の API を新しいメソッドとオプションで強化し、非推奨の API とオプションを削除しました。これらの変更については、次の章で説明します。
Java