とりあえず、暇つぶしに調べてたののURL関係だけ。 http://www.nextindex.net/java/classloader.html http://www-128.ibm.com/developerworks/java/library/j-dclp1/index.html http://www-128.ibm.com/developerworks/java/library/j-dclp2.html http://www-128.ibm.com/developerworks/java/library/j-dclp3/index.html http://www-128.ibm.com/developerworks/java/library/j-dclp4/index.html http://www.nminoru.jp/~nminoru/java/class_unloading.html ・・・なに、このヒト。Javaバイトコードまで読んでる。吹っ飛びすぎ。 http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/class-loader-howto.html http://www.sk-jp.com/mt/philosophical/archives/2005_04/05_224941.html 一応、 http://www.nextindex.net/java/classloader.html に書いてあったのと同じコードをJDK1.6.0_01で試してみたら、同じ結果になった。 ??何か、仕事先で適当に試したら、JDK5だと、CLASSPATHも、lib/extも、全部BootStrapLoader が読んでないか?・・・みたいな結果になったんだけど。但し、全然違うコードだけど。やり方が悪かったのかな?そっちのコードだと、エントリポイントのクラスも、全部 class.getClassLoader()がnullなんだけど。う~~ん・・・あとで、変な結果になったソースコードも改めて検証してみよう。暇な時に、気が向いたら。 うお、いつのまにこんな機能が!?って、JDK5からか・・・。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/class-data-sharing.html あ、だからか・・・そういや、確かに、-verbose:class したときも、み~~んな [Loaded ***** from shared objects file] みたいに表示されてた。つまり、共有クラスキャッシュに入ってるら、BootstrapLoaderにみ~~~な読み込まれちゃうわけだ。 -Xshare:off すれば、無効化できる。 [Loaded java.lang.Object from C:\Program Files\Java\jdk1.6.0_01\jre\lib\rt.jar] ・・・みたいな感じになる。ただ、その分実行速度がめちゃくちゃ遅くなった・・・。