【Modern Java】主要新機能 まとめ

f:id:Naotsugu:20200724174249p:plain

長期サポート(LTS) の Java8 以降の主な拡張機能です。


Java 9 (2017年9月21日)


Java 10 (2018年3月20日)


Java 11 (2018年9月25日)


Java 12 (2019年3月19日)

  • switch式(Preview)
    • JEP 325: Switch Expressions (Preview)


Java 13 (2019年9月17日)

  • switch式(Second Preview)
    • JEP 354: Switch Expressions (Second Preview)
  • 複数行の文字列リテラル(Preview)
    • JEP 355: Text Blocks (Preview)
  • ソケットAPIの改良実装
    • JEP 353: Reimplement the Legacy Socket API


Java 14 (2020年3月17日)


Java 15 (2020年9月15日)


Java 16 (2021年3月16日)


Java 17(2021年9月14日)

Java 11 に続く長期サポート対象バージョン(LTS)

  • Sealed クラスの導入
    • JEP 409: Sealed Classes
    • 継承できるクラスを制限する Sealed Class
  • switch パターンマッチング
    • JEP 406: Pattern Matching for switch (Preview)
  • ベクトル演算 API (Second Incubator)
    • JEP 414: Vector API (Incubator)
  • その他
    • JEP 306: Restore Always-Strict Floating-Point Semantics - 厳密な浮動小数演算(strictfp)をデフォルトに(SSE2があるため)
    • JEP 356: Enhanced Pseudo-Random Number Generators - java.util.random パッケージ
    • JEP 403: Strongly Encapsulate JDK Internals - 内部APIの隠蔽が強制される
    • JEP 412: Foreign Function & Memory API (Incubator) - JNIの代替として外部関数と外部メモリとの総合運用APIを導入
    • JEP 415: Context-Specific Deserialization Filters - コンテキストに応じたデシリアライズフィルタを構成(ObjectInputFilter.Config にフィルタファクトリを登録)
    • JEP 391: macOS/AArch64 Port - Apple M1チップ(AArch64)向けサポート
    • JEP 382: New macOS Rendering Pipeline - Apple MetalによるグラフィックAPI対応


Java 18(2022年3月22日)