LoginSignup
13
6

More than 5 years have passed since last update.

【Java】Java12特徴について

Last updated at Posted at 2019-03-10

概要

  • OpenJDKの公式サイトに有るように、「Release-Candidate Phase」のフェーズに達しました。
  • 2019/03/19にはリリース予定
  • 特徴についてまとめておきたいと思います。

特徴

189: GCの休止時間を短くするアルゴリズム「Shenandoah」を追加 ※実験段階?

  • GCアルゴリズムにShenandoahを新規に追加するそうです。実行中のスレッドと平行して実行することによりGCの休止時間を短縮するようです。
  • アルゴリズムの詳細はこのページに記載されています。

230: JMHをバンドル

  • JDKとは別に提供されていたJMH(Java Micro Benchmark Harness)をJDKに含めるようです。
  • 既存のJMHが機能追加されたものがバンドルされるわけではないようです。

325: Switch文の機能を拡張

  • switch文が拡張されました。
  • 以下、公式サイトより引用

従来のswitch文

switch (day) {
    case MONDAY:
    case FRIDAY:
    case SUNDAY:
        System.out.println(6);
        break;
    case TUESDAY:
        System.out.println(7);
        break;
    case THURSDAY:
    case SATURDAY:
        System.out.println(8);
        break;
    case WEDNESDAY:
        System.out.println(9);
        break;
}

拡張されたswitch文

switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
    case TUESDAY                -> System.out.println(7);
    case THURSDAY, SATURDAY     -> System.out.println(8);
    case WEDNESDAY              -> System.out.println(9);
}
  • シンプルな記載が出来るようになり、読みやすくなりましたね。

334: JVM Constants API

  • java.lang.invoke.constantパッケージが追加されたようです。

340: arm64のソースコードを削除

  • ARM64bit用のPortのソースコードからarm64を削除したとの事です。
  • aarch64のソースと重複していたので、開発者の負担を減らすのが目的のようです。

341: CDSアーカイブのデフォルト化

  • 64ビット版のみの対応
  • CDSアーカイブ生成作業の簡略化として、デフォルトのクラスリストを利用できるように変更したようです。
  • これにより、起動時間の短縮化。「-Xshare:dump」をユーザに実行させる手間を省かせることが可能となります。

344: Mixed GCを停止可能とする

  • G1のMixed GCを中止できるようにしたようです。

346: G1ガベージコレクタの強化

  • アイドル状態時、自動的にヒープメモリをOSに返却するようにG1ガベージコレクタを強化したようです。

追記

以下サイトの記事、よくまとまっています。
https://japan.techrepublic.com/article/35134682.htm

13
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
6