新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト]
インプレス
- Mala Guptah(著者)、 柴田 芳樹(翻訳)
Javaのテクニックをアップグレードしよう!
Javaのテクニックをアップグレードしよう!
バージョン10から最新版まで
さまざまなアップデートを一挙に学べる!
Java SE 10以降では、年2回のバージョンアップサイクルとなっています。
そのうちバージョン11は、長期サポート版としてリリースされました。
本書では「Java SE 10~13の新機能」と「開発中の機能」を取り上げています。
取り上げるテーマは、以下のとおりです。
型推論、アプリケーション・クラスデータ共有、
ガベージコレクタ、ラムダ式、ラムダパラメータ、enum、
データクラス、テキストブロック、パターンマッチング、など
機能の内容だけでなく、背景、使い方、ユースケースも適宜、説明しています。
本書は、機能拡張のサイクルを加速させるJava SEのアップデートを確認したい
読者にとって、最適な一冊です。
発売日:2020-03-13
ページ数:216ページ
目次
表紙
サンプル/正誤/商標
訳者まえがき
まえがき
第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クライアントAPI/7.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 10/10.9 ChaCha20とPoly1305の暗号アルゴリズム/10.10 単一ファイルソースコードのプログラム起動
10.11 TLS 1.3/10.12 Nashorn JavaScriptエンジンの廃止
10.13 pack200ツールとAPIの廃止/10.14 まとめ
第3部 Java 12
第11章 switc/11.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プロジェクトの拡張enum/13.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のビルド手順
索引
著者/訳者紹介
奥付
著者プロフィール
-
Mala Guptah(著者)
◎著者プロフィール
Mala Gupta(マラ・ダプタ)
チェコに本社を置くソフトウェア開発企業JetBrainsで、開発者のアドボケイト(主唱者)として働いている。また、eJavaGuruの創設者として、キャリア向上のためのJava認定試験を積極的に推進し、2006年以降、認定試験の合格を目指す学生や社会人を支援している。ソフトウェア業界で18年以上の経験を積んでおり、基本的な人生のスキルとして創造性を育成するプラットホームKaagZevarを共同で設立。Delhi Java User Groupを共同で運営しながら、Women Who Code Delhiのディレクタとして、Women in Technologyにおける多様性の擁護にも力を入れている。
◎訳者プロフィール
柴田 芳樹(しばた・よしき)
1959年生まれ。九州工業大学情報工学科で情報工学を学び、1984年に同大学大学院で情報工学修士課程を修了。パロアルト研究所を含む米国ゼロックス社での5年間のソフトウェア開発も含め、Unix(Solaris/Linux)、C、Mesa、C++、Java、Goなどを用いたさまざまなソフトウェア開発に従事してきた。現在もソフトウェア開発に従事し、個人的な活動として技術教育やコンサルテーションなどを行っている。2000年以降、私的な時間に技術書の翻訳や講演なども数多く行っている。 -
柴田 芳樹(翻訳)
◎訳者プロフィール
柴田 芳樹(しばた・よしき)
1959年生まれ。九州工業大学情報工学科で情報工学を学び、1984年に同大学大学院で情報工学修士課程を修了。パロアルト研究所を含む米国ゼロックス社での5年間のソフトウェア開発も含め、Unix(Solaris/Linux)、C、Mesa、C++、Java、Goなどを用いたさまざまなソフトウェア開発に従事してきた。現在もソフトウェア開発に従事し、個人的な活動として技術教育やコンサルテーションなどを行っている。2000年以降、私的な時間に技術書の翻訳や講演なども数多く行っている。
絶賛!発売中!
-
- マンガで学ぶエクセル VBA・マクロ ”自動化の魔法” Microsoft 365対応
-
- 著者・監修:きたみあきこ(著者)、 シナリオ:秋内常良(著者)、 マンガ:朝戸ころも(著者)、 マンガ制作:トレンド・プロ(著者)
- ビジネスアプリ
- 今度こそ挫折しない!マンガだからVBAの基本がよくわかる!
-
- マンガで学ぶパワーポイント ”勝てるプレゼン” Microsoft 365対応
-
- 著者・監修:木村幸子(著者)、 シナリオ:秋内常良(著者)、 マンガ:朝戸ころも(著者)、 マンガ制作:トレンド・プロ(著者)
- ビジネスアプリ
- ひと目でわかるプレゼン資料の効率的な作り方が、マンガでわかる!
-
- Mac Fan Special 無料アプリではじめる! Macで動画編集入門
-
- Mac Fan編集部(著者)
- Windows・Mac・スマートフォン
- 結婚式ムービーからVlog、YouTubeまで! ゼロから身につく動画制作の基本
Copyright © Mynavi Publishing Corporation