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
-
事例
[京セラコミュニケーションシステム株式会社] 全員参加の経営改善を推進、北海道農業共済組合の管理会計システム活用術 -
市場調査・トレンド
[京セラコミュニケーションシステム株式会社] 1000人調査で分かった予実管理の実態 経営判断を支える仕組みづくりのヒント -
製品資料
[NTTPCコミュニケーションズ株式会社] 円滑なIT運用を阻む「3つの壁」とは? 情シスの負担を減らすAIOps活用のコツ -
事例
[Neatframe株式会社] 会議室不足の原因は「空予約」? 移転や増設の前に無駄を可視化する方法とは -
事例
[Neatframe株式会社] Web会議の音声トラブルをどう解消? AI活用も見据えた会議デバイス選びとは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
年収700万超エンジニアに共通するスキルと「もっと勉強すべきだった分野」
-
3
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
4
「企業におけるAI導入検討度とIT投資優先度」に関するアンケート
-
5
ソフトウェア開発の厳しい納期と品質 トヨタグループはどう両立しているのか?
-
6
高額な「AI PC」を一般従業員も使えたら? 費用のハードルを一気に下げる方法
-
7
「SCS評価制度 × 日本HP PC」に関するアンケート
-
8
「業務改善とツール活用」に関するアンケート
-
9
なぜMicrosoft製品か Copilotで問い合わせ6割減の企業事例
-
10
「データストレージの活用方法」に関するアンケート
ホワイトペーパーランキング PR
-
1
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
4
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
5
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
6
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
7
AIの利用状況と効果を“数値化” AI駆動開発への組織変革を加速させる実践術
-
8
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
9
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー