クラスのリロード関係

javaではクラスの再定義は通常許容されていないので、クラスをリロードするにはクラスローダーを毎回使い捨てる必要があります。
いや、あるらしいんだってば。
でそーゆー時は
自作クラスローダーを毎回newしてロードして捨てて、
Thread.currentThread().getContextClassLoader()
で取得したクラスローダーとゴニョゴニョして、
というコードを書くらしいのですが・・・
ゴニョゴニョのところが難しくてよくわからん(汗
何を調べればいいんだろうか。言語仕様?
検索キーワードは「ClassLoader dispose reload ClassCastException」ってとこだと思うのだけれど。
とりあえずググって引っ掛かった「あとで読む」リンクを張っておく

http://jspwiki.org/wiki/A2AClassCastException

それから、最近はSeasarのhotswap,hotdeployが熱いようですが、あれも毎回使い捨てているのだろうと思います。
んが難しくてよくわからないのでシーケンスとかライフサイクルとか識者の解説求む。