2014-07-01から1ヶ月間の記事一覧

Effective Java 第 2 版:第 2 章 オブジェクトの生成と消滅 項目 7

ファイナライザを避ける Effective Java 第 2 版、第 2 章の項目 7。 ファイナライザはオブジェクトがガベージコレクション (GC) により破棄されるときに呼び出されるメソッドである。 Java では Object クラスで protected void finalize() として定義され…

Effective Java 第 2 版:第 2 章 オブジェクトの生成と消滅 項目 6

廃れたオブジェクト参照を取り除く 自前でメモリ管理しているときは、廃れた参照が現れてメモリリークを起きることを防がなければならないという話。 廃れた参照とは、存在しているが使われることのない参照のことである。 例えば、配列を用いてオブジェクト…

Effective Java 第 2 版:第 2 章 オブジェクトの生成と消滅 項目 5

不必要なオブジェクトの生成を避ける リソースを効率よく使うためには、以下のような不必要なオブジェクトの生成はできるだけ避けたいという話。 不変クラスを毎回 new メソッドが呼び出されるごとの高コストなオブジェクトの生成 アダプターの複数個生成 意…

Effective Java 第 2 版:第 2 章 オブジェクトの生成と消滅 項目 4

private のコンストラクタでインスタンス化不可能を強制する java.lang.Math のような、static な関数や定数を集めたユーティリティクラスはインスタンス化する意味がないので、インスタンス化できないようにコンストラクタを書く必要がある。 これはシング…

Effective Java 第 2 版:第 2 章 オブジェクトの生成と消滅 項目 3

private のコンストラクタか enum 型でシングルトン特性を強制する Java でシングルトンを実装するときは、 static ファクトリーメソッド(項目 1 参照) 列挙型 (enum) のどちらかを使うのがよい。 一方、public static フィールドにインスタンスを保持する…

Effective Java 第 2 版:第 2 章 オブジェクトの生成と消滅 項目 2

数多くのコンストラクタパラメータに直面したときはビルダーを検討する 多くのフィールドを持ち、それに伴って多くのコンストラクタパラメータを持つクラスは、初期化のコードを書くときに煩雑であったり、可読性に難があることが多い。 このときに、ビルダ…