Java 9(JDK 9)の主要機能とメリット
Java 9(別名JDK 1.9)は、Javaプログラミング言語開発における主要なリリースです。初期バージョンは2017年9月21日にリリースされました。Java 9リリースの主な目標は以下の通りです。
- JDKとJava SEプラットフォームをモジュールベースにし、小型コンピューティングデバイスにもスケールダウン可能にする
- JDKとJava実装の全体的なセキュリティを向上させる
- Javaコードライブラリと大規模アプリケーションのビルドプロセスとメンテナンスを、Java SEとEEプラットフォームで容易にする
- Javaプラットフォームの標準モジュールシステムを設計・実装し、プラットフォームとJDKの両方に容易に適用可能にする
主な新機能(90以上の拡張から抜粋)
- モジュールシステム - 名前付き、自己記述的なコードとデータのコレクションとしての新しいプログラミングコンポーネント「モジュール」を導入
- REPL(JShell) - Read-Eval-Print Loop機能をJavaプラットフォームに追加
- HTTP/2 Client - WebSocketとHTTP/2ストリーム、サーバープッシュ機能をサポートする新しいHTTPClient API
- 改善されたJavaDoc - HTML5出力生成サポート、生成APIドキュメントに検索ボックス追加
- マルチリリースJAR - 単一アーカイブ内で複数のJavaリリース固有のクラスファイルバージョンを共存可能にするJAR形式拡張
- コレクションファクトリメソッド - List、Set、Mapインターフェースの新しい静的ファクトリメソッドで不変インスタンス作成
- プライベートインターフェースメソッド - プライベートおよびプライベートstaticメソッドでインターフェースを拡張
- プロセスAPI改善 - OSプロセスの制御・管理APIを改善
- ストリームAPI改善 - オブジェクト直列化データの着信ストリームをフィルタリング可能にし、セキュリティと堅牢性を向上
- Try-with-resources改善 - final変数をtry-with-resources文のリソースとして使用可能に
- 拡張@Deprecatedアノテーション - APIのステータスと意図された処分についてより多くの情報を提供
- 内部クラスのダイヤモンド演算子 - 推論型が表現可能な場合、匿名クラスでダイヤモンド演算子使用可能
- Optionalクラス改善 -
java.util.Optionalクラスに便利な新メソッド追加 - マルチ解像度イメージAPI - 異なる解像度の画像セットを単一のマルチ解像度イメージにカプセル化
- CompletableFuture API改善 -
ProcessHandle.onExitメソッドでプロセス終了時の非同期アクション実行可能 - 軽量JSON API - Java 9でJSONドキュメントとデータストリームの消費・生成用軽量API導入
- リアクティブストリームAPI - Java SE 9でリアクティブプログラミングをサポートする新しいReactive Streams API導入
Java
- Cプログラミング言語:包括的な概要
- Java演算子をマスター:種類、構文、実践例
- Javaコメント:種類、使い方、ベストプラクティス
- Java拡張forループをマスター:構文、例、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaプログラミング言語:進化、バージョン、応用分野
- Java 10の新機能とリリースモデル:6ヶ月サイクルとLTSの解説
- Java 9プロセスAPIの改善:ProcessHandleで詳細情報取得
- Java 9ストリームAPI拡張:takeWhile、dropWhile、iterate、ofNullable
- Java 9マルチ解像度イメージAPI:レスポンシブグラフィックスを簡素化
- Java 8概要:関数型、ストリーム、日時APIなどの新機能