[Seasar-user:19895] Re: 【Seasar2】prototype指定のgetComponentについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 6月 22日 (火) 17:00:29 JST


小林 (koichik) です.

Date:    Tue, 22 Jun 2010 16:12:58 +0900
From:    "Nobutaka Yamada" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19894] 【Seasar2】prototype指定のgetComponentについて

> dicon定義にて、prototype指定したコンポーネントを
> getComponentした場合、
> 
> そのコンポーネント(下記例のComponent1のインスタンス)への
> 参照がなくなった場合はGCの対象となり、破棄されるでしょうか?

されます.
prototype の場合,コンテナはインスタンスの
参照を保持しません.

> プロファイラツールを使用してパフォーマンス計測を
> 行っていたところ、Seasar内部で保持しているMapオブジェクト
> のサイズが大きくなっているというレポートが出たため
> 確認をさせて頂きました。

コンテナが保持している Map というと,
コンポーネントのキー (名前や型) から
コンポーネント定義 (インスタンスではない)
への Map などいくつかありますが,いずれも
コンテナの初期化でサイズが確定して,その後は
(動的にコンポーネントが追加されない限り)
サイズが増えることはないはずです.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内