新しいリリースでは、パフォーマンス、安定性、セキュリティ面での数千もの改善に加え、9つのJDK Enhancement Proposalsを提供
News Release Summary
(本資料は2022年3月22日にオラクル・コーポレーションより発表されたプレスリリース(https://www.oracle.com/news/announcement/oracle-releases-java-18-2022-03-22/)の抄訳です)
オラクル、Java 18を発表
新しいリリースでは、パフォーマンス、安定性、セキュリティ面での数千もの改善に加え、9つのJDK Enhancement Proposalsを提供
2022年3月23日
オラクルは本日、世界ナンバーワンのプログラミング言語および開発プラットフォームの最新バージョンである、Java 18の提供を開始したことを発表しました。Java 18(Oracle JDK 18)は、9つのプラットフォーム機能強化を含む、パフォーマンス、安定性およびセキュリティ面での数千もの改良により、開発者の生産性をさらに向上させます。
最新の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 Platform Group開発担当バイスプレジデントのジョージ・サーブ(Georges Saab)は次のように述べています。「Java 18のリリースは、6カ月ごとの機能リリースによって、企業と開発者が強化された機能により迅速にアクセスできるようにする、オラクルの継続的な取り組みを示しています。Java Development Kitの提供に加え、Java SE Platformのパフォーマンス、安定性、セキュリティを向上させるための技術投資を続けています。」
RedMonkの主席アナリストであるジェームズ・ガバナー(James Governor)氏は次のように述べています。「Java開発者は、最新のプログラミング言語機能、開発者体験の強化、クラウド管理サービス、安定性など、継続的なイノベーションを求めています。オラクルは、Javaの一貫した6カ月ごとのリリース・サイクルによって、こうした要求に応え、Javaを最新のアプリケーションやワークロードに対応させることに貢献しています。」
クラウドで加速するJavaの使用
オラクルは先日、Java Management Service(JMS)を発表しました。これは、オンプレミスやあらゆるクラウド上でJavaランタイムとアプリケーションの管理を支援する、新しいOracle Cloud Infrastructure(OCI)のネイティブ・サービスです。JMSは、企業全体のJavaデプロイメントを管理するために必要な情報を提供します。JMSは、OCIワークロードおよびOracle Java SE Subscriptionに含まれています。
Java 18は、Javaの6カ月ごとのリリース・サイクルに基づく最新リリースで、オラクルのエンジニアと世界各国のJava開発者コミュニティのメンバーが、OpenJDK ProjectとJava Community Process(JCP)を通じて、共に取り組みました。安定したイノベーションの流れを提供すると同時に、パフォーマンス、安定性、セキュリティ面での改良を継続的に加えることで、あらゆる規模の組織や業界において、Javaの使用が普及するよう促進します。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部門は複雑性を管理し、コストを抑制し、セキュリティ・リスクを軽減することができます。
オラクルについて
オラクルは、広範かつ統合されたアプリケーション群に加え、セキュリティを備えた自律型のインフラストラクチャをOracle Cloudとして提供しています。オラクル(NYSE:ORCL)に関するより詳細な情報については、https://www.oracle.com/index.html をご覧ください。
商標
Oracle、Java及びMySQLは、Oracle Corporation、その子会社及び関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。本文書は情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。