[seasar-javadoc:1054] Re: UnitClassLoader

Hideaki Suzuki [E-MAIL ADDRESS DELETED]
2007年 9月 25日 (火) 23:16:06 JST


鈴木(belltree)です。

UnitClassLoader について、ちょっと考えてみました。で、結局、クラス説明は、
シンプルに…

 * {@link S2FrameworkTestCase} を使用した単体テスト等で使用する {@link ClassLoader クラスローダ} です。
 * <p>
 * アスペクトが適用されたクラスを大量に使用するテストを連続して実行する際に、 {@link OutOfMemoryError}
 * の頻発を回避する目的で使用します。
 * </p>
 * <p>
 * クラスは通常、 システムクラスローダによりVMのパーマネント領域にロードされますが、 新たにクラスをロードする領域がなくなると、
 * <code>OutOfMemoryError</code> が発生します。 <code>S2FrameworkTestCase</code>
 * では、 テストメソッド毎に、 この<code>UnitClassLoader</code> を生成、使用、消滅させることにより、
 * アスペクトが適用されたクラスがGCされることで、パーマネント領域が不足する問題を回避しています。
 * </p>

だけにするのがいいかなぁ〜と ^ ^ ; (添付ありマス)

理由は以下の3点です。

 ・ このクラス自体には、付加的な処理機能はない。
   (⇒ 使用目的の記述が重要かつ必要で、それだけあれば十分)

 ・ S2FrameworkTestCase の中で、このクラスが利用のされた際の振舞い
   に関する説明は、S2FrameworkTestCaseの中で説明した方が好ましい。

 ・ S2FrameworkTestCase に比べ、重要ではあるが付加機能の無い
   このクラスのJavadoc は(残念ながらorz)ほとんど読まれない可能性もある。

…というわけで、S2FrameworkTestCase の方に、後藤さんの調べて下さった
内容をインジェクションしていったらいいかな?なんて考えていますがいかがでしょう?
ぜひS2FrameworkTestCaseの方へ!

UnitClassLoaderについては、[seasar-javadoc:1031] で、いちどコミッター
(小林さん)のコミット許可をもらっているので、特に致命的な問題がなければ、
この内容で一度コミットしようと思います。

宜しくお願いします。 m(_ _)m

> > それから、後藤さんが書いてくれた説明は、そのまま載せてあります。
> > ちょっと思ったのは、文脈が突然変わるので、「UnitClassLoaderの動作」とか
> > 「UnitClassLoaderの仕組」とか、見出しをつけた方がいいような気がしました。
> >
> 何度か読み返したのですが、そんなに突然文脈が変わっているようには感じなくて・・・
> 感覚が麻痺してる?
> 見出しをつけた方が違和感があって・・・
> 「クラスは通常〜」という部分と「このUnitClassLoaderでは〜」の部分は並列的というか
> 同類というか、そんな感じがするのですがどうでしょうかね。
> 
> > あと、ここで言いたいことは
> > ・アスペクトが適用されたクラスは、リフレクティブにロードされる。
> > ・特定のリソースからクラスのバイトストリームを読込む必要はない。
> > ・したがって(バイトストリームを読込む機能を持つ)親クラスローダに
> >   ロード処理を委譲する必要がない。
> > →テストメソッドごとに、アスペクト適用クラスをアンロードするために、
> >   このUnitClassLoaderにクラスをロードさせるという目的が達成される。
> > て感じでしょうかね?もうちょっと考えてみまっしゅ。。。
> > 
> org.seasar.framework.aop.javassist.AbstractGenerator
> あたりを「@see」に追加するだけでもいいような気がしてきました。

/** 
 * @auther Hideaki Suzuki
 * @contact [E-MAIL ADDRESS DELETED]
 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: UnitClassLoader.java
Type: application/octet-stream
Size: 1991 bytes
Desc: not available
Url : http://ml.seasar.org/archives/seasar-javadoc/attachments/20070925/80840930/attachment.obj 


seasar-javadoc メーリングリストの案内