Hangi JIT derleyicisinin kullanımda olduğunu belirlemek için biraz daha iyi bir yöntem. 32 bit JDK8 bir Windows makinede
:
$ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
$ java -XshowSettings -version 2>&1 | grep sun.management.compiler
sun.management.compiler = HotSpot Client Compiler
$ java -server -XshowSettings -version 2>&1 | grep sun.management.compiler
sun.management.compiler = HotSpot Tiered Compilers
Yani istemci Derleyici Windows 32 bit JDK8 ve '-sunucu' seçeneği size 32 bitlik Katmanlı alır ile varsayılan Derleyici. 64 bit JDK8 bir Windows makinede
:
$ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
$ java -XshowSettings -version 2>&1 | grep sun.management.compiler
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
Yani Katmanlı Derleyici Windows 64 bit JDK8 ile varsayılan değerdir. Oracle, bir 64 bit İstemci VM'si sağlamaz.
Teşekkürler Jon. OS X'te Hotspot'u çalıştırıyorum, ancak Java 1.6 ve 1.7 için bu seçenek tanınmıyor, alas. –
@JulienChastang: Bu garip - hem Windows hem de Linux'ta benim için iyi. Java -X' ne gösteriyor? –
Benim hatam. Aslında 1,6 üzerinde tanınmıyor, ama 1.7'de bana yukarıda verdiğiniz bilgileri veriyor. Merakla, ben java -client -XshowSettings sağlayın: vm hala Sunucu olduğunu iddia ediyor. Charles Nutter (http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html) eğer 64 bit kullanıyorsanız, -server tek seçenek. Bu konuda Oracle'dan biraz açıklık almak güzel olurdu. –