続・FullGCが頻発しCPU100%

http://d.hatena.ne.jp/JavaBlack/20060124#p1の続き

関係ないとは思いますが、Seasarの2.1系では設定によってはOutOfMemoryErrorが発生するという事象があったようです。

ある意味では開発者の悪夢ですな.やはりフレームワークはKISS原則に基づくべきだと思う.

・プロトタイプを使用すると、動的にクラスを生成するが、要求毎にクラスを生成している
・クラスローディングに起因するメモリリークである

つまり「それは仕様です」.VM仕様やGCのことを知らないと嵌りやすい落とし穴.*1
メモリリークとは言えないが,同種の問題ではある.

*1:もっとも,この辺りはVM仕様初版でもあまり明確にされていなかった部分ではある.