Effective Java(エフェクティブジャバ)
プログラミング- 著者:
- Joshua Bloch/柴田 芳樹(ジョシュアブロック/シバタヨシキ)
- 出版社:
- 丸善出版
- 出版日:
- 2018年10月26日頃
- ISBN:
- 9784621303252
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Java プログラマーにとって必読の定番書『 Effective Java 』の改訂第 3 版。
この第 3 版では、 Java 8 で新たに導入されたラムダとストリームに関する章が新規に追加されたほか、オプショナル、インタフェースでのデフォルトメソッド、 try-with-resources 文、@SafeVarargs アノテーション、モジュールなどの機能を扱った項目を含み、第 2 版の 78 項目から 90 項目に増加しています。
今日では Java は大きく複雑になり、並列実行から、繰り返し、各種データの表現まで、多くの事柄に対して多様な抽象化を持ち合わせています。
この大きさと複雑さを考えると、最新のベストプラクティスの指導書はなおさら重要です。
本書は多くのデザインパターンとイデオムを示すコード例を含んでおり、プログラミング言語 Java の正しい理解と、簡潔で明瞭で正確なソフトウェアの設計に役立つでしょう。
日本語版によせて
訳者まえがき
Effective Java によせて
まえがき
謝辞
第 1 章 はじめに
第 2 章 オブジェクトの生成と消滅
第 3 章 すべてのオブジェクトに共通のメソッド
第 4 章 クラスとインタフェース
第 5 章 ジェネリックス
第 6 章 enum とアノテーション
第 7 章 ラムダとストリーム
第 8 章 メソッド
第 9 章 プログラミング一般
第 10 章 例外
第 11 章 並行性
第 12 章 シリアライズ
付録 第 2 版に対応する項目
参考文献
索引
技書の森解説
Java の文法を覚えた段階と、堅牢で保守しやすいコードを書ける段階の間には大きな溝があります。本書は Joshua Bloch が Java の言語仕様とライブラリ設計に携わった経験をもとに、その溝を埋めるための 90 の項目 (Item) をまとめたベストプラクティス集です。「 static ファクトリメソッドを検討せよ」「 equals をオーバーライドするなら hashCode もオーバーライドせよ」といった具体的な指針が、理由・コード例・代替案とともに提示されます。
各項目は独立しているため通読する必要はなく、コードレビューで指摘された箇所や設計で迷った場面で該当する Item を引く、という使い方が日常に溶け込みます。第 3 版では Stream API 、 Optional 、ラムダ式など Java 8 以降の機能に関する項目が追加されており、モダンな Java の書き方にも対応しています。言語設計者自身が「なぜこう書くべきか」を語るため、単なるルール集ではなく設計の意図を理解できる点が強みです。
前提として Java の基本文法とオブジェクト指向の概念を理解していることが求められます。完全な初学者には難しく感じますが、業務で Java を書いている中級者であれば、読むたびにコードの質が変わる実感を得られるでしょう。 Java を主力言語にしている開発者にとって、一度は通るべき通過点と位置づけられている本です。
言及 Qiita 記事 (28 件)
新人さんにすすめる有益な技術書達 2022春
♡ 528読書, まとめ, 新人プログラマ応援10年前はGoFのデザインパターン本を読んで何やらわかった気になっていました
♡ 51Java, デザインパターン, Qiita10th_過去【Java】static と synchronized から始めるマルチスレッド入門
♡ 17Java, マルチスレッド, メモリ管理, static, 排他制御例外的状況にだけ例外を使う 〜 Seleniumでの要素存在判定を題材に
♡ 12Python, Selenium, 例外, 例外処理【Cloud9 Advent Calendar Day1】今年購入してよかったガジェット11選
♡ 7Java, デザインパターン, ガジェット2025年の私の最近の勉強法
♡ 5ポエム, 仕事効率化, 勉強法Javaでの擬似自分型(Simulated self type)
♡ 3Java, TypeScript, デザインパターン, メソッドチェーン, BuilderPatternLombok の @EqualsAndHashCode の callSuper について
♡ 3Java, LombokKotlinにおけるオブジェクト比較
♡ 2Kotlin高校生でもわかる!RPGで学ぶJavaオブジェクト指向プログラミング【完全版】
♡ 2Java, オブジェクト指向, プログラミング, ポートフォリオ, Java入門
言及 Zenn 記事 (1 件)
この本に興味がある方におすすめ
この本に関連
関連記事
設計の引き出しは経験だけでは増えない
実務経験だけでは設計の引き出しに限界があります。なぜ経験だけでは不十分なのか、本が設計力に対して果たす、他で代えにくい役割を論じます。
Web デザイン本ガイド - HTML/CSS、Figma、Photoshop を学ぶ順番
Web デザインを独学する本の選び方を「コーディング、ツール、デザイン原則」の 3 本柱で整理。HTML/CSS の入門書、Figma と Photoshop の教本、レイアウトと配色の定番書を、2026 年 8 月時点の収載書から学ぶ順番つきで解説します。
技術書の帯コピーの世界 - 煽り文句に隠されたマーケティング
「10 万部突破」「現場で使える」「これ 1 冊で完璧」。技術書の帯に書かれた煽り文句の法則と、帯が売上に与える影響を解説します。
関連用語
スレッドプール
事前に生成したスレッドを再利用し、スレッド生成のオーバーヘッドを削減する並行処理パターン
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
goroutine
Go の軽量スレッドで、数十万規模の並行処理を低コストで実現する
Go
Google が開発したシンプルで高速なコンパイル言語で、goroutine による軽量な並行処理が特徴
オブジェクトプールパターン
生成コストの高いオブジェクトを事前に確保してプールし、再利用することでパフォーマンスを向上させるパターン
プロセスとスレッドの違いとは - メモリ空間 / 生成コスト / 通信方法を比較
プロセスとスレッドの違いをメモリ空間 / 生成コスト / 通信方法の 3 軸で比較。Node.js での使い分け、Lambda の実行環境、データ競合とコンテナの PID 1 の落とし穴まで解説