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製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー