【2019年9月】最新Java13のリリースを発表!Java12からの追加機能は?
  • facebookページ
  • twitterページ
  • 2019.10.02

    【2019年9月】最新Java13のリリースを発表!Java12からの追加機能は?

    米オラクルはサンフランシスコで開催されたイベント「Oracle Code One 2019」にてJavaの最新版にあたる「Java13」のリリースを発表しました。

    Javaでは「フィーチャーリリース」と呼ばれるアップデートを6ヶ月毎に実施しており、2019年3月に正式リリースとなったJava12以来のアップデートです。

    本記事では、2019年9月17日に公開されたばかりの最新版「Java13」で追加される新機能や、Javaで現在取り組まれているプロジェクトなどを中心にご紹介していきたいと思います。

    最新のJava13で追加された新機能

    2019年9月17日に正式リリースとなったJavaの最新版Java13では5つの新機能が追加されることになりました。

    「Switch Expressions(JEP354)」と「Text Blocks(JEP355)」に関してはプレビュー機能としての提供となります。

    Dynamic CDS Archives(JEP350)

    まずDynamic CDS ArchivesですがJEP310で追加された機能であるApplication Class-Data Sharingの拡張機能として提供されます。

    Application Class-Data Sharing機能のユーザビリティ向上を目的としており、各アプリケーションでクラスを生成する際の試用実行が不要となります。

    既存のApplication Class-Data Sharing機能では下記の手順でアーカイブの実行が行われていました。

    1. クラスリストを作成するために1回以上の試行を実施
    2. 1で作成したクラスリストを元にアーカイブをダンプ
    3. アーカイブで実行

    今回のアップデートで1の試行が不要となるため処理が簡略化される結果となります。

    ZGC: Uncommit Unused Memory(JEP351)

    ZGC(The Z Garbage Collector)と呼ばれるガベージコレクタの処理を強化した機能で、未使用のヒープメモリをオペレーティングシステムに返却する機能が提供されます。

    ZGCはOracleが提供している資料によりますと「A Scalable Low Latency Garbage Collector」と定義しており、超低レイテンシなガベージコレクターとして、データ転送における遅延時間を限りなく短くした技術とされています。

    Reimplement the Legacy Socket API(JEP353)

    java.net.Socketやjava.net.ServerSocket APIで使用される基本的な実装をシンプルでよりモダンな実装へと変更しています。

    また、保守やデバッグについても容易に行えるように改善されているようです。

    後述するJavaの最新プロジェクト「Project Loom」で研究が進められており「Fiber」という別名でも呼ばれる「ユーザーモードスレッド」での動作にも簡単に適応出来るような改善が行われています。

    Switch Expressions(JEP 354)

    Switch Expressionsはプレビュー機能としてJava13では提供が開始されました。

    従来のSwitchの拡張機能としてSwitchステートメントまたは式としての利用が可能となります。

    従来より提供されている… : labels(フォールスルー有り)形式と…->labels(フォールスルー無し)形式のいずれかを利用出来るように拡張されています。

    ポテパンダの一言メモ

    今回のSwitch Expressionsの機能追加により、日常のコーティングが簡素化することはもちろん、JEP305として公開された「Pattern Maching for instanceof(パターンマッチ)」を利用するための準備でもあると発表されています。

    Text Blocks(JEP355)

    Text Blocksに関してもJava13ではプレビュー機能としての提供となります。

    Text Blockではテキストブロックとして複数行に渡り構文を記述することが可能となります。

    また構文の中にリテラルを埋め込むことが可能で、ほとんどのエスケープシーケンスを使用せずに自動的にコードを解釈してくれます。

    またフォーマットに関しても、ある程度まで自動で解釈してくれるため空白が含まれた状態のHTML文などをそのままコピペした場合でも高い精度で解釈出来るようです。

    Javaで現在取り組まれている最新プロジェクトをご紹介

    Javaでは下記の4つの最新プロジェクトについて開発・研究が進められていることもイベントで発表されています。

    ここでは各プロジェクトの概要について確認しておきましょう。

    Project Amber

    Project Amberでは、コードの可読性を高めるために、小規模な機能を集め生産性を重視したJava言語機能を強化することを目的としたプロジェクトです。

    Project Valhalla

    Project Valhallaでは、JVMやJava言語における「Value Types」や「Generic Specialization」を拡張するプロジェクトとして研究が進められています。

    Java言語におけるプリミティブ型と同様の挙動をするユーザー定義の型を作成出来るようにする拡張機能などの提供が提案されています。

    Project Panama

    Project Panamaでは、JVM(Java仮想マシン)とCやC++などを含むJava以外のプログラミング言語で記述されたAPIとの接続を強化・改善するためのプロジェクトです。

    現状、CやC++で記述されたネイティブAPIと接続させるにはJNI(Java Native Interface)を利用する必要がありますが、仕組みが複雑なため、より簡単にネイティブAPIとJVMを接続させることが出来るように研究が進められています。

    Project Loom

    Project Loomでは、今回のJava13の新機能でも少しご紹介しましたが「Fiber」と呼ばれる「ユーザーモードスレッド」を活用した軽量スレッドの提供や、継続(Continuations)と呼ばれるプログラム実行中にまだ評価されていない計算の改善などが含まれます。

    ポテパンダの一言メモ

    実際にProject Loomで研究しているFiberの仕組みが組み込まれれば、従来のマルチスレッド処理と比較しても大幅に処理速度が早くなることが期待されています。

    さいごに

    本記事では、2019年9月17日にリリースされたばかりの最新版Java13の新機能とJavaで現在進行中のプロジェクトについてご紹介してきました。

    Java13では5つの機能が新たに提供されたため、Java10での12機能、Java11での17機能、Java12での8機能追加と比べると少し寂しいアップデートとなりました。

    今回リリースされたJava13に関してですが、リリース後6ヶ月間を対象とした期間限定でOracleが無償サポートを行う対象としております。

    6ヶ月毎にフィーチャーリリースとして発表している最新バージョンのみがOracleの無償サポート対象となるため、利用する際には意識しておくようにしましょう。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件