Oracle JDK 14の新機能やプレビュー版機能を解説
「Java 14」は何が新しいのか? 注目要素をおさらい
Oracleが公開したJava開発・実行環境の最新バージョン「Oracle JDK 14」(「Java 14」)には、どのような新要素があるのか。注目すべき要素を解説する。
プログラミング言語および開発・実行環境「Java」の仕様群「Java SE」(Java Platform, Standard Edition)の最新版が「Java SE 14」だ。本稿はOracleが2020年3月に提供を始めた、Java SE 14向けの開発・実行環境「Oracle JDK 14」(通称「Java 14」)の注目すべき要素を見ていく。
併せて読みたいお薦め記事
Javaのアップデート
- 「Java EE」の後継「Jakarta EE」が公開、両者の違いは?
- 「Amazon Corretto」はOpenJDKディストリビューションの本命に躍り出るか
- クラウドとコンテナに向けて進化を続けるJava
Javaと他のプログラミング言語との比較
主な新要素は以下の通りだ。
- 「switch」の記法の追加
- 「Java Flight Recorder」(JFR)用の新しいAPI(アプリケーションプログラミングインタフェース)の追加
- 「ZGC」(Z Garbage Collector)の利用範囲拡大
加えてOracle JDKやオープンソースの「OpenJDK」に関する機能拡張提案プロセス「JDK Enhancement Proposals」(JEP)に基づいたプレビュー版の注目すべき要素は以下の通りだ。
- 「instanceof」の拡張
- 新クラス「Records」の追加
- 「テキストブロック」の継続導入
新要素1.switchの記法の追加
switchは、変数の値による場合分けを表現するための命令だ。これまでのswitchは「文」(Statement)の構文でしか使うことができなかったが、Java 14からは「式」(Expression)でも利用できるようになった。プログラミングにおける文とは実行内容を定義した表現であり、式とは演算子や関数などによって結果となる値をもたらす表現を指す。
「Oracle JDK 12」(「Java 12」)でプレビュー版機能として導入されたswitch式は、Java 14で標準機能となった。「switch構文を非常にシンプルかつ簡潔に書けるようにした」と、OracleのJava Platform製品管理担当シニアディレクターであるオーレリオ・ガルシアリベイロ氏は説明する。
新要素2.JFR用の新しいAPIの追加
JFRは、実行中のJavaアプリケーションの診断やプロファイリング用のデータを収集するツールだ。今回のアップデートで、JFRで取得したデータを継続的にモニタリングし、エラーを特定しやすくするためのAPIが追加された。
新要素3.ZGCの利用範囲拡大
ZGCは不要になったメモリ領域を自動的に解放するガベージコレクター機能であり、大規模なメモリ領域解放でも遅延なく機能する。これまでZGCは「Linux」でのみ利用できたが、Java 14では「Windows」「macOS」でも利用可能になった。
プレビュー版注目要素1.instanceofの拡張
instanceofは、オブジェクトが特定の型かどうかを判定する演算子だ。Java 14では「特定の型」の箇所に変数の定義パターンを指定できるようになる。instanceofの結果が正である場合は、そこで定義した変数に判定対象の値が代入される。
プレビュー版注目要素2.新クラスRecordsの追加
Recordsは「プログラムコードが冗長になりがち」というJavaの欠点を緩和することを目的とした、データ保持用の新しいクラスだ。ガルシアリベイロ氏はRecordsについて、「イミュータブル(不変)なデータを保持するクラスの作成にこれまで必要だった、冗長なプログラムコードの多くを一掃する」と語る。
プレビュー版注目要素3.テキストブロックの継続導入
テキストブロックはプログラムのソースコードにおいて、複数行にわたる文字列を表現しやすくするための機能だ。「Oracle JDK 13」(「Java 13」)でプレビュー機能として導入され、改良を経てJava 14でも引き続きプレビュー版機能として位置付けられている。「テキストブロックによって、ソースコード内の文字列の可読性が向上するだろう」(ガルシアリベイロ氏)
その他のアップデート
Java 14には、他にも以下のようなアップデートがある。
- Javaアプリケーションが稼働するOS固有のパッケージ形式でアプリケーションをパッケージ化する「Packaging Tool」の追加
- 開発者からフィードバックを募ることを目的とし、正式版が提供される場合とされない場合の両方の可能性がある機能「Incubator」として追加された。
- データをバイト単位の配列として扱うクラス「ByteBuffer」の対象に不揮発性メモリを追加
- 変数がnull(値として何も存在しないことを示す値)値を参照しようとして発生する例外「NullPointerException」の表示メッセージの改善
- どの変数がnullなのかを明確に記述するようになった、
- Foreign-Memory Access API
- Java仮想マシンがJavaアプリケーションの実行時に確保するメモリ領域「Javaヒープ」外のメモリ領域に、Javaアプリケーションが安全にアクセスできるようにする
Java 14の評価
マーケティング企業Informaの調査部門Omdiaでアナリストを務めるブラッドリー・シミン氏は「Oracleは、Java開発者が市場に合わせてプログラムコードを洗練させるのに必要な機能を提供する必要がある」と語る。Java 14は、Javaの障害復旧力やパフォーマンスを向上させ、より生産性の高いプログラミング言語にする機能を追加しているとシミン氏は評価する。
Oracleは2018年以降、6カ月ごとの開発サイクルでOracle JDKをアップデートしている。この間隔はそれまでよりも短い。「個々のアップデート規模を従来と比べて縮小し、Javaの各バージョンの導入や管理をより容易にし、企業のアプリケーション開発者が新機能や強化機能の恩恵を受けやすくなることが目的だ」。OracleでJavaおよびGraalVMマーケティング担当のバイスプレジデントを務めるマニッシュ・グプタ氏はそう説明する。
Javaをクラウドコンピューティングに適した形にし、モバイルデバイスやIoT(モノのインターネット)デバイスなどで稼働させようというのがOracleの狙いだ。同社は2017年に、Javaの企業向け仕様群「Java Enterprise Edition」(Java EE)を、統合開発環境(IDE)「Eclipse」の管理団体Eclipse Foundationに譲渡した。Eclipse Foundationはその後、新しいJavaの企業向け仕様群「Jakarta EE」を公開した。
「Java 14を見て分かるのは、OracleがSun Microsystemsを買収したときの『Javaに害を及ぼさない』という約束を忠実に守っているということだけではない。Oracleは、Javaが今後も重要な役割を果たせるように、Javaを進化させることを目指している」(シミン氏)
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[ファインディ株式会社] AI利用率だけでは説明できない成果 開発組織の競争力を生む「開発資本」とは? -
製品資料
[ニュータニックス・ジャパン合同会社] AI活用を成功へ導く、シンプルで費用対効果に優れたクラウド基盤とは? -
製品資料
[ニュータニックス・ジャパン合同会社] マネージドKubernetesには限界も――メリットをフル活用する新たな選択肢とは? -
技術文書・技術解説
[ニュータニックス・ジャパン合同会社] 決断の日が迫る「vSphere 8」サポート終了問題 考慮すべきリスクと選択肢は? -
製品資料
[サイバーソリューションズ株式会社] メール誤送信対策のルールが肥大化 苦しむ情シスはどうすれば救われるのか?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
3
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
-
4
IT製品の導入に関するアンケート「セキュリティ」編
-
5
積水化学が挑む「データ経営」の核心:SAP S/4HANA Cloud導入の狙いとは
-
6
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
-
7
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
8
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
9
「中堅製造業にSAP S/4HANA導入は難しい」は本当か?
-
10
【専門家に聞く】シャドーAIや過剰共有のリスクを防ぎ、安全に生成AIを活用するポイントとは?
ホワイトペーパーランキング PR
-
1
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
2
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
3
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
6
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
7
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
8
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
9
「IT史に名を残すシステム障害」8選
-
10
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー