Upcoming JDK 12 and JDK 13 JEP Candidate list

このエントリは以下の複数エントリをベースにしています。
This entry is based on the following entries.
The countdown to Java 12 has begun: Here’s the list of all the planned new features
https://jaxenter.com/countdown-java-12-begun-overview-155751.html
First look at JDK 13: The list of JEP candidates is getting longer
https://jaxenter.com/keeping-track-of-jdk-13-155201.html

2019年3月19日 (PT) にJDK 12のリリースが予定されています。Mark ReinholdのTweetの通り、今日 (2019/2/20) 現在ではRelease Candidateのフェーズに入っています。

以下のJEPがJDK 12に新たに機能追加される予定です。

189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)

http://openjdk.java.net/jeps/189

Shenandoahと命名された新しいガベージコレクション (Garbage Collection) アルゴリズムが追加されます。このGCはポーズ時間を減らします。これは実行中のJavaスレッドと同時に避難作業を行うことで、GCによるポーズ時間を短縮するというものです。Shenandoahのポーズ時間はヒープサイズとは無関係で、ヒープが200 MBでも200 GBでも、同じポーズ時間になることを目指したGCです。

230: Microbenchmark Suite

http://openjdk.java.net/jeps/230

JDKソースコードにマイクロベンチマークの基本的なスィートが追加されます。開発者にとって既存のマイクロベンチマークの実行や新たなマイクロベンチマークの作成が簡単になるでしょう。

325: Switch Expressions (Preview)

http://openjdk.java.net/jeps/325

switch文 (statement) を拡張して文や式として利用できるようにし、両方でこれまでの伝統的なスコープもしくは簡素化されたスコープを利用できるとともに、制御フロー動作を利用可能にすることを目指します。これらの変更により毎日のコーディングが簡素化されるでしょう。それと同時に、これはパターンマッチング (JEP 305) を switch で利用するための準備とも言えます。なお、この機能はプレビュー扱いの言語機能です。

JEP 305: Pattern Matching for instanceof (Preview)
https://openjdk.java.net/jeps/305

334: JVM Constants API

http://openjdk.java.net/jeps/334

主要なクラスファイルとランタイムアーティファクト、特に定数プールからロード可能な定数の名称的な記述をモデル化するためのAPIを導入します。

340: One AArch64 Port, Not Two

http://openjdk.java.net/jeps/340

32ビットARMポートと64ビットaarch64ポートを保持しながら、arm64ポートに関連するすべてのソースを削除します。

341: Default CDS Archives

http://openjdk.java.net/jeps/341

JDKビルドプロセスの機能を強化し、64bitプラットフォームでデフォルトのクラスリストを使いクラスデータ共有 (class data-sharing / CDS) アーカイブを生成するようにします。

344: Abortable Mixed Collections for G1

http://openjdk.java.net/jeps/344

休止時間の目標時間を上回る可能性がある場合には、 G1GC にて Mixed GC を中止できるようにします。

346: Promptly Return Unused Committed Memory from G1

http://openjdk.java.net/jeps/346

G1GC の機能を拡張し、アイドル時に自動的に Java ヒープメモリをOSに返すようにします。

なお、一度 Candidate になっていた Raw String Literals (https://openjdk.java.net/jeps/326) は取り下げられていますので、ご注意を。昨年末メーリングリスト上で Brian Goetz が取り下げた経緯と、再度議論を始めるというメッセージを流していましたね。

JEP proposed to drop from JDK 12: 326: Raw String Literals (Preview)
http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html

JDK 12が出ると、予定では6か月後にJDK 13がリリースされる予定になっております。今日 (2019/2/20) 現在でCandidate(候補)として挙がっているJEPは以下の通りです。

349: JFR Event Streaming

https://openjdk.java.net/jeps/349

インプロセスアプリケーションとアウトプロセスアプリケーションの両方に対して、JFR (Java Flight Recorder) のディスク上のデータを継続的に利用するためのAPIを提供することを目指しています。

348: Java Compiler Intrinsics for JDK APIs

https://openjdk.java.net/jeps/348

JavaコンパイラーがInvokeDynamicなどの代替変換方法を使用できるようにして、コンパイラー組み込み候補として指定されている特定のJDKメソッドのパフォーマンスを向上させることを目指します。具体的には、String::formatおよびObjects::hashの呼び出しを組み込みます。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中