ConstructorとStatic Factory Method
988 ワード
小さな実験をしました
Effective Javaに書いてあるように、Constructorの代わりにStatic Factory Methodを使用します.
Sirotyannクラス:
最初の運転時:
constructor : 25
static factory : 0
1回実行後:
constructor : 2
static factory : 0
インスタンスの作成にかかる時間の差はさらに大きいはずですが、static factory methodはConstructorよりも速いことがわかります.
Effective Javaに書いてあるように、Constructorの代わりにStatic Factory Methodを使用します.
public static void main(String[] args) {
long l1 = System.currentTimeMillis();
Sirotyann siro = new Sirotyann();
long l2 = System.currentTimeMillis();
long l3 = System.currentTimeMillis();
Sirotyann siro2 = Sirotyann.getSirotyann();
long l4 = System.currentTimeMillis();
logger.debug("constructor : "+ (l2-l1));
logger.debug("static factory : "+ (l4-l3));
}
Sirotyannクラス:
class Sirotyann{
public static Sirotyann getSirotyann(){
return new Sirotyann();
}
public Sirotyann(){
}
}
最初の運転時:
constructor : 25
static factory : 0
1回実行後:
constructor : 2
static factory : 0
インスタンスの作成にかかる時間の差はさらに大きいはずですが、static factory methodはConstructorよりも速いことがわかります.