CDS(共有アーカイブ)をちょっと確認

ClientVMを使用してシリアルガベージコレクタを使用した場合のみの機能らしいが、同じマシン上でさらに多くのアプリケーションを同時に実行できるようになるということで、なかなかいいんじゃないでしょうかね。
簡単に下記のコマンド叩くと"classes.jsa"ができる。(Windowsでは自動で生成されている)


java -Xshare:dump
で、"-verbose"を付けて実行すると以下のように、"shared objects file"から読み込んだ旨が!w(゜o゜)w オオ-共有アーカイブ

[Opened C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Opened C:\java\j2sdk1.5.0_01\jre\lib\jsse.jar]
[Opened C:\java\j2sdk1.5.0_01\jre\lib\jce.jar]
[Opened C:\java\j2sdk1.5.0_01\jre\lib\charsets.jar]
[Loaded java.lang.Object from shared objects file]
[Loaded java.io.Serializable from shared objects file]
[Loaded java.lang.Comparable from shared objects file]
[Loaded java.lang.CharSequence from shared objects file]
[Loaded java.lang.String from shared objects file]
[Loaded java.lang.reflect.GenericDeclaration from shared objects file]
[Loaded java.lang.reflect.Type from shared objects file]
[Loaded java.lang.reflect.AnnotatedElement from shared objects file]
・・・
ちょっとオプションを試すということで"-Xshare:off"を付けて実行。今まで通り"rt.jar"から読み込んだ旨が出力されてる。

[Opened C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Opened C:\java\j2sdk1.5.0_01\jre\lib\jsse.jar]
[Opened C:\java\j2sdk1.5.0_01\jre\lib\jce.jar]
[Opened C:\java\j2sdk1.5.0_01\jre\lib\charsets.jar]
[Loaded java.lang.Object from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.lang.String from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.lang.reflect.Type from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from C:\java\j2sdk1.5.0_01\jre\lib\rt.jar]
・・・
なんだか共有アーカイブすごい!(カモシレマセン)この恩恵に預かるのはいつなのだろうか…。