インプレス[コンピュータ・IT]ムック 新世代Javaプログラミングガイド
インプレス / 2020年03月13日 / 全215ページ
本書では「Java SE 10~13の新機能」と「開発中の機能」を解説。「ローカル変数での型推論」「アプリケーション・クラスデータ共有」「フライトレコーダ」「switch式」「データクラス」など、さまざまな機能を取り上げています。機能の内容だけでなく、背景、使い方、ユースケースも適宜、説明。また、翻訳時点の状況に合わせて原著の内容を見直し、Java 13/14への言及を追加したり、訳注を付けたりしています。本書は、機能拡張のサイクルを加速させるJava SEのアップデートを確認したい読者にとって、最適な一冊です。
目次
- サンプル/正誤/商標
- 訳者まえがき
- まえがき
- 第1部 Java 10
- 第1章 ローカル変数での型推論1.1 型推論とは1.2 varによる型推論
- 1.3 Java 9までの型推論
- 1.4 課題
- 1.5 型推論と動的バインディング1.6 まとめ
- 第2章 AppCDS - アプリケーション・クラスデータ共有2.1 技術的な要件
- 2.2 CDSとは
- 2.3 AppCDS
- 2.4 まとめ
- 第3章 ガベージコレクタの最適化3.1 技術的な要件
- 3.2 GCインタフェース
- 3.3 G1用の並列フルGC(JEP 307)
- 3.4 まとめ
- 第4章 JDK 10のその他の改良点4.1 技術的な要件
- 4.2 JDK 10の機能と、対応するJEP番号範囲
- 4.3 まとめ
- 第2部 Java 11
- サンプル/正誤/商標
- 訳者まえがき
- まえがき
- 第1部 Java 10
- 第1章 ローカル変数での型推論1.1 型推論とは1.2 varによる型推論
- 1.3 Java 9までの型推論
- 1.4 課題
- 1.5 型推論と動的バインディング1.6 まとめ
- 第2章 AppCDS - アプリケーション・クラスデータ共有2.1 技術的な要件
- 2.2 CDSとは
- 2.3 AppCDS
- 2.4 まとめ
- 第3章 ガベージコレクタの最適化3.1 技術的な要件
- 3.2 GCインタフェース
- 3.3 G1用の並列フルGC(JEP 307)
- 3.4 まとめ
- 第4章 JDK 10のその他の改良点4.1 技術的な要件
- 4.2 JDK 10の機能と、対応するJEP番号範囲
- 4.3 まとめ
- 第2部 Java 11
- 第5章 ラムダパラメータのローカル変数構文5.1 技術的な要件5.2 ラムダ式
- 5.3 ラムダパラメータとvarでの型推論
- 5.4 まとめ
- 第6章 Epsilon GC - ガベージコレクタの改良6.1 技術的な要件
- 6.2 Epsilon GCの背後にある動機
- 6.3 HelloEpsilonGCクラス
- 6.4 Epsilon GCによるメモリプレッシャーテスト
- 6.5 ガベージなしアプリケーションを設計する
- 6.6 まとめ
- 第7章 HTTPクライアントAPI7.1 技術的な要件
- 7.2 はやめぐり
- 7.3 コード例
- 7.4 非同期なGETを使ってHTMLページへアクセスする
- 7.5 まとめ
- 第8章 ZGC - 低遅延化とスケーラビリティの改善8.1 技術的な要件8.2 動機
- 8.3 ZGCのヒープ
- 8.4 ZGCのフェーズ
- 8.5 色付けされたポインタ
- 8.6 ZGCのチューニング
- 8.7 まとめ
- 第9章 フライトレコーダとミッションコントロール9.1 技術的な要件
- 9.2 JFRの背景にある動機
- 9.3 JFRを使う
- 9.4 カスタムイベントに取り組む
- 9.5 まとめ
- 第10章 JDK 11のその他の改良点10.1 技術的な要件
- 10.2 JDK 11の機能と、対応するJEP番号範囲10.3 ネストに基づくアクセス制御
- 10.4 動的クラスファイル定数10.5 AArch64イントリンシックの改善
- 10.6 Java EEとCORBAモジュールの削除
- 10.7 Curve25519とCurve448での鍵合意
- 10.8 Unicode 1010.9 ChaCha20とPoly1305の暗号アルゴリズム10.10 単一ファイルソースコードのプログラム起動
- 10.11 TLS 1.310.12 Nashorn JavaScriptエンジンの廃止
- 10.13 pack200ツールとAPIの廃止10.14 まとめ
- 第3部 Java 12
- 第11章 switc11.1 技術的な要件
- 11.2 従来のswitch文の問題
- 11.3 switch式を使う
- 11.4 switchの条件分岐内でローカル変数を定義する11.5 switch式の別の構文
- 11.6 プレビュー言語機能11.7 網羅的なcase
- 11.8 値を返す以外にswitchの条件分岐ができること11.9 switch式でラベルとcontinueを使えないケース
- 11.10 まとめ
- 第12章 JDK 12のその他の改良点12.1 技術的な要件
- 12.2 JDK 12の機能と、対応するJEP番号範囲12.3 Shenandoah GC:一時停止時間が短いGC
- 12.4 マイクロベンチマーク・スイート
- 12.5 JVM定数API
- 12.6 AArch64版の一本化
- 12.7 CDSアーカイブをデフォルト
- 12.8 G1用の中止可能な混在コレクション
- 12.9 未使用のコミットメモリのG1からの迅速な返却12.10 まとめ
- 第4部 Java言語拡張プロジェクト「Amber」
- 第13章 Amberプロジェクトの拡張enum13.1 enumの背景
- 13.2 enum定数の状態と振る舞い
- 13.3 まとめ
- 第14章 データクラスとその利用方法14.1 データクラスの紹介
- 14.2 データクラス
- 14.3 まとめ
- 第15章 テキストブロック15.1 技術的な要件15.2 簡単なコード例
- 15.3 既存の複数行の文字列リテラルでの問題
- 15.4 テキストブロック
- 15.5 よくある例
- 15.6 まとめ
- 第16章 ラムダの改善ポイント16.1 技術的な要件16.2 使われないパラメータをアンダースコアで明示する
- 16.3 ラムダパラメータのシャドーイング
- 16.4 関数式の曖昧性の除去
- 16.5 まとめ
- 第17章 パターンマッチング17.1 技術的な要件17.2 パターンマッチング
- 17.3 型検査での既存の問題
- 17.4 型検査パターン
- 17.5 switch構文でのパターンマッチング
- 17.6 まとめ
- 付録A Amberプロジェクト用のJDKのビルド手順
- 索引
- 著者/訳者紹介
- 奥付
※このデジタル雑誌には目次に記載されているコンテンツが含まれています。それ以外のコンテンツは、本誌のコンテンツであっても含まれていません のでご注意ください。
※電子版では、紙の雑誌と内容が一部異なる場合や、掲載されないページがある場合があります。