[戻る]

Java読書会BOF「Effective Java 第3版」を読む会 第1回

開催概要
日時 2018年12月22日 10:00 - 17:00
場所 川崎市産業振興会館 第1研修室
出席者(敬称略) 石黒、岩室、井上、吉本、吉田、小棚木、平山、山田、常念、高橋(智)、遠藤、高橋(徹)
  • 本日は、著者・訳者紹介から読書開始です。

まえがき

第3版へのまえがき

  • p.xv 翻訳「Javaの比較的な簡潔性の多くは」が日本語として馴染まない
    • 原書では、"match of the relative simplicity of Java" とある
  • 同ページ 「互いのAPIを再実装する権利」とは?
    • OracleとGoogleとの間で、JavaのAPIをめぐり訴訟があった

第1章 はじめに

  • p.2下5行目 誤植
    • 「Azule の」は、「Azul の」の誤植。原書は「Azul's」

第2章 オブジェクトの生成と消滅

項目1 コンストラクタの代わりにstaticファクトリメソッドを検討する

項目2 多くのコンストラクタパラメータに直面したときにはビルダーを検討する

  • p.15 上1行目 「自分型(self type)」を持たないとはどういうことか?
    • abstract classの中でthisと書くと型はabstract classになってしまうからでは?
  • p.16 下11行目 誤植
    • 「ビルダ」は「ビルダー」の誤植。他の箇所は「ビルダー」と表記

項目3 privateのコンストラクタかenum型でシングルトン特性を強制する

項目4 privateのコンストラクタでインスタンス化不可能を強制する

項目7 使われなくなったオブジェクト参照を取り除く

  • p.27 コード下7行目(コメント) 誤植
    • 「最低で要素もう一つの容量を」は「最低でも1つの容量を」といったかんじ?

項目8 ファイナライザとクリーナーを避ける

  • p.31 ファイナライザを使ってガベージコレクタに回収させるのに要する時間をどのように計測しているのか?
  • p.34 上5行目 誤植
    • 「登録してときに」は「登録したときに」では

項目10 equalsをオーバーライドするときは一般契約に従う

  • AutoValueってどんなフレームワーク?
    • アノテーションプロセッサでコンパイル時にequalsとhashCodeを自動生成したJavaソースファイルを生成する。オリジナルのクラスはabstractとしておくと、AutoValue_オリジナル名のクラス(ソース)が生成される。

項目11 equalsをオーバーライドするときは、常にhashCodeをオーバーライドする

  • p.56 上6-7行目 誤植
    • 「動作することにます。」は「動作することになります。」の誤植
  • p.53 上3段落目 4行目 では「『線形時間』で実行するはずのプログラムが二次の時間で実行」とあるが、p.56 上6行目では「『1次の時間』で動作するはずのプログラムが二次の時間で動作」と表記されている。原書ではどちらも「linear」

本日は、p.59 項目12まで読みました。次回はp.60 項目13からです。

[戻る]