Effective Java 第3版(電子書籍版)

出版社: 丸善出版
著者:
発行日: 2018-10-31
分野: 医学一般  >  医学情報学
ISBN: 9784621303252
電子書籍版: 2018-10-31 (電子書籍版)
電子書籍
章別単位での購入はできません
ブラウザ、アプリ閲覧

4,400 円(税込)

商品紹介

Javaプログラマーにとって必読の定番書『Effective Java』の改訂第3版。この第3版では、Java 8で新たに導入されたラムダとストリームに関する章が新規に追加されたほか、オプショナル、インタフェースでのデフォルトメソッド、try-with-resources文、@SafeVarargsアノテーション、モジュールなどの機能を扱った項目を含み、第2版の78項目から90項目に増加しています。

目次

  • 表紙
  • 日本語版によせて
  • 訳者まえがき
  • 目次
  • Effective Java によせて
  • まえがき
  • 謝辞
  • 第1章 はじめに
  • 第2章 オブジェクトの生成と消滅
  • 項目1 コンストラクタの代わりに static ファクトリメソッドを検討する
  • 項目2 多くのコンストラクタパラメータに直面したときにはビルダーを検討する
  • 項目3 private のコンストラクタか enum 型でシングルトン特性を強制する
  • 項目4 private のコンストラクタでインスタンス化不可能を強制する
  • 項目5 資源を直接結び付けるよりも依存性注入を選ぶ
  • 項目6 不必要なオブジェクトの生成を避ける
  • 項目7 使われなくなったオブジェクト参照を取り除く
  • 項目8 ファイナライザとクリーナーを避ける
  • 項目9 try - finally よりも try - with - resources を選ぶ
  • 第3章 すべてのオブジェクトに共通のメソッド
  • 項目10 equals をオーバーライドするときは一般契約に従う
  • 項目11 equals をオーバーライドするときは、常に hashCode をオーバーライドする
  • 項目12 toString を常にオーバーライドする
  • 項目13 clone を注意してオーバーライドする
  • 項目14 Comparable の実装を検討する
  • 第4章 クラスとインタフェース
  • 項目15 クラスとメンバーへのアクセス可能性を最小限にする
  • 項目16 public のクラスでは、public のフィールドではなく、アクセッサーメソッドを使う
  • 項目17 可変性を最小限にする
  • 項目18 継承よりもコンポジションを選ぶ
  • 項目19 継承のために設計および文書化する、でなければ継承を禁止する
  • 項目20 抽象クラスよりもインタフェースを選ぶ
  • 項目21 将来のためにインタフェースを設計する
  • 項目22 型を定義するためだけにインタフェースを使う
  • 項目23 タグ付きクラスよりもクラス階層を選ぶ
  • 項目24 非 static のメンバークラスよりも static のメンバークラスを選ぶ
  • 項目25 ソースファイルを単一のトップレベルのクラスに限定する
  • 第5章 ジェネリックス
  • 項目26 原型を使わない
  • 項目27 無検査警告を取り除く
  • 項目28 配列よりもリストを選ぶ
  • 項目29 ジェネリック型を使う
  • 項目30 ジェネリックメソッドを使う
  • 項目31 API の柔軟性向上のために境界ワイルドカードを使う
  • 項目32 ジェネリックスと可変長引数を注意して組み合わせる
  • 項目33 型安全な異種コンテナを検討する
  • 第6章 enum とアノテーション
  • 項目34 int 定数の代わりに enum を使う
  • 項目35 序数の代わりにインスタンスフィールドを使う
  • 項目36 ビットフィールドの代わりに EnumSet を使う
  • 項目37 序数インデックスの代わりに EnumMap を使う
  • 項目38 拡張可能な enum をインタフェースで模倣する
  • 項目39 命名パターンよりもアノテーションを選ぶ
  • 項目40 常に Override アノテーションを使う
  • 項目41 型を定義するためにマーカーインタフェースを使う
  • 第7章 ラムダとストリーム
  • 項目42 無名クラスよりもラムダを選ぶ
  • 項目43 ラムダよりもメソッド参照を選ぶ
  • 項目44 標準の関数型インタフェースを使う
  • 項目45 ストリームを注意して使う
  • 項目46 ストリームで副作用のない関数を選ぶ
  • 項目47 戻り値型として Stream よりも Collection を選ぶ
  • 項目48 ストリームを並列化するときは注意を払う
  • 第8章 メソッド
  • 項目49 パラメータの正当性を検査する
  • 項目50 必要な場合、防御的にコピーする
  • 項目51 メソッドのシグニチャを注意深く設計する
  • 項目52 オーバーロードを注意して使う
  • 項目53 可変長引数を注意して使う
  • 項目54 null ではなく、空コレクションか空配列を返す
  • 項目55 オプショナルを注意して返す
  • 項目56 すべての公開 API 要素に対してドキュメントコメントを書く
  • 第9章 プログラミング一般
  • 項目57 ローカル変数のスコープを最小限にする
  • 項目58 従来の for ループよりも for - each ループを選ぶ
  • 項目59 ライブラリを知り、ライブラリを使う
  • 項目60 正確な答えが必要ならば、float と double を避ける
  • 項目61 ボクシングされた基本データよりも基本データ型を選ぶ
  • 項目62 他の型が適切な場所では、文字列を避ける
  • 項目63 文字列結合のパフォーマンスに用心する
  • 項目64 インタフェースでオブジェクトを参照する
  • 項目65 リフレクションよりもインタフェースを選ぶ
  • 項目66 ネイティブメソッドを注意して使う
  • 項目67 注意して最適化する
  • 項目68 一般的に受け入れられている命名規約を守る
  • 第10章 例外
  • 項目69 例外的状態にだけ例外を使う
  • 項目70 回復可能な状態にはチェックされる例外を、プログラミングエラーには実行時例外を使う
  • 項目71 チェックされる例外を不必要に使うのを避ける
  • 項目72 標準的な例外を使う
  • 項目73 抽象概念に適した例外をスローする
  • 項目74 各メソッドがスローするすべての例外を文書化する
  • 項目75 詳細メッセージにエラー記録情報を含める
  • 項目76 エラーアトミック性に努める
  • 項目77 例外を無視しない
  • 第11章 並行性
  • 項目78 共有された可変データへのアクセスを同期する
  • 項目79 過剰な同期は避ける
  • 項目80 スレッドよりもエグゼキュータ、タスク、ストリームを選ぶ
  • 項目81 wait と notify よりも並行処理ユーティリティを選ぶ
  • 項目82 スレッド安全性を文書化する
  • 項目83 遅延初期化を注意して使う
  • 項目84 スレッドスケジューラに依存しない
  • 第12章 シリアライズ
  • 項目85 Java のシリアライズよりも代替手段を選ぶ
  • 項目86 Serializable を細心の注意を払って実装する
  • 項目87 カスタムシリアライズ形式の使用を検討する
  • 項目88 防御的に readObject メソッドを書く
  • 項目89 インスタンス制御に対しては、readResolve よりも enum 型を選ぶ
  • 項目90 シリアライズされたインスタンスの代わりに、シリアライズ・プロキシを検討する
  • 付録 第2版に対応する項目
  • 参考文献
  • 索引
  • 著者紹介 / 訳者紹介
  • 奥付

おすすめ商品

最近チェックした商品履歴

Loading...