米現地時間3月22日、オラクルは「Java 18」の提供を開始したことを発表した。
最新のJava Development Kit(JDK)では、9つのJDK Enhancement Proposals(JEPs)によるアップデートと改良が行われているという。これらの改良は、APIドキュメントへのサンプル・ソース・コードの追加を容易にする「Java API Documentation(JEP 413)」にコード・スニペットを追加する機能、およびプロトタイピングとテストのためのシンプルな「Simple Web Server(JEP 408)」を含むとしている。
開発者は、「Vector API(JEP 417)」と「Foreign Function and Memory API(JEP 419)」2つのインキュベーション・モジュールを検討できるほか、Switchの「パターン・マッチング(JEP 420)」のプレビュー機能も実装しているという。
「Java 18」における主要な変更点
ライブラリの更新と改善
- JEP 400:UTF-8(デフォルト)標準Java APIのデフォルトの文字セットとしてUTF-8を設定。この変更により、デフォルトの文字セットに依存するAPIは、すべての実装、オペレーティング・システム、ロケール、および構成において、一貫して動作する
- JEP 408:Simple Web Server 静的ファイルのみを提供する最小限のWebサーバーを起動するためのコマンドライン・ツールおよびAPI。このツールは、特に教育現場でのプロトタイピング、アドホック・コーディング、およびテストに役立つという
- JEP 416:メソッド・ハンドルによるCore Reflectionの再実装 java.lang.invokeメソッド・ハンドル上にjava.lang.reflect.Method、Constructor、およびFieldを再実装するもの。メソッド・ハンドルをReflectionの基盤となるメカニズムとすることで、java.lang.reflectとjava.lang.invoke APIの両方のメンテナンスと開発コストを削減することができる
- JEP 418:インターネット・アドレス解決SPI ホスト名とアドレス解決のためのサービス・プロバイダ・インタフェース(SPI)を定義。java.net.InetAddressが、プラットフォームの組み込みリゾルバ以外のリゾルバを利用できるようにする
ツール
- JEP 413:Java APIドキュメントのEPコード・スニペット JavaDocのStandard Docletに@snippetタグを導入。APIドキュメントへのサンプル・ソース・コードの書き込みを簡素化する
後続のJDKリリースに向けたプレビューとインキュベータ
- JEP 417:Vector API(第3インキュベータ)スケーラブルなベクトル拡張を提供するCPUアーキテクチャを確実に活用するための、開発者向けAPI。非拡張型プロセッサでの同等の計算と比較しても、性能を発揮するという
- JEP 419:外部関数・メモリAPI(第3インキュベータ)Javaプログラムが、Javaランタイム外のコードやデータと相互運用できるようにするもの。APIは、外部関数(JVM外のコード)を呼び出し、外部メモリ(JVMによって管理されていないメモリ)にセキュアにアクセスすることで、JNIの脆弱性や隠れた危険に煩わされることなく、Javaプログラムによるネイティブ・ライブラリの呼び出しやネイティブ・データの処理を可能にする
- JEP 420:Switchのパターン・マッチング(第2プレビュー)Javaプログラミング言語において、switch式やステートメントに対するパターン・マッチングを、パターン言語の拡張とともに強化。パターン・マッチングをswitchに拡張することで、特定のアクションをともなう複数のパターンに対して式をテストできるため、複雑なデータ指向のクエリを簡潔かつセキュアに表現できるという
将来に対応したJavaプログラム
- JEP 421:ファイナライズを非推奨とし削除に備える ファイナライズは、現時点ではデフォルトで有効になっているが、テストを容易にするために無効にできる。将来のリリースでは、デフォルトで無効化され、さらに後のリリースでは削除される予定。ファイナライズに依存しているライブラリやアプリケーションの管理者は、try-with-resourcesステートメントやクリーナーなどの、他のリソース管理技術への移行を検討する必要があるという。
Javaのサポート
Oracle Java SE Subscriptionは、従量制のサービスでサポート、GraalVM Enterpriseへのアクセス、Java Management Serviceへのアクセス、およびビジネスのペースに合わせたアップグレードを提供。これにより、IT部門は複雑性を管理し、コストを抑制し、セキュリティ・リスクを軽減することができるとしている
【関連記事】
・ウエルシア薬局、全国店舗基幹システムにオラクルクラウドを採用
・パナソニックがオラクルのクラウドERPを導入へ 独自改革の「PX」を推進
・ファイントゥデイ資生堂がオラクルのクラウドERPを採用 グローバルでの事業拡大へ