javaの初回起動

昔からのシステムでAppletの初回起動時間が遅いことについて少し相談された。2回目以降は早いらしい。2回目以降はキャッシュが効いているからかな。ちなみにJDK1.3.xを使ってる。
java -verbose:class -verbose:gc -verbose:jni Xxx とかやったりしてみた。その後ググる。(先にすべきだった)
Java Performance Tuning Newsletter no. 46
http://www.javanews.jp/javap/newsletter046.html
OS起動時にJVMの起動を行うことでJavaの初回起動が高速になるが、結局OS起動が遅くなるだけなので、おすすめできない模様。
もう一つ参考にしたサイトのURL忘れた。。Swing(JFrame)使用するだけで起動時に700〜800ほどのクラスがLoadされている模様。かなり多くないか。
その後、JDK1.4.xやJDK1.5.xでも上記オプションで実行してみた。Loadされるクラス数がJDK1.3.xの時からだいぶ減っている。この辺りは時間を見つけて調査しとかないと。あーあとLoadしてるクラスのターゲットが違う。

  • JDK1.4.x XXXClass from c:\j2sdk1.4.2\jre\lib\rt.jar
  • JDK1.5.x XXXClass from shared objects file

この辺りも起動速度に影響してるのかな。たぶん常識!?週末調べます。
あーあと、Java起動時にマイナーGCが一度発生してるけど、これもこんなものなのか。なんか知らないことが沢山ありすぎるなー。