2012-05-07 26 views
67

jakieś ciekawe JVM Bandera:Drukuj Wszystkie Flagi JVM

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 

Drukuje setki różnych opcji, i nigdy nie słyszałem o przed. Drukuje także wartości domyślne, które pomagają lepiej diagnozować zachowania JVM. Innym ciekawym flaga jest:

-XX:+UnlockExperimentalVMOptions 

Czy ktoś wie o wszelkich dokumentacji, która wyjaśnia, każdy z nich?

+5

http://www.oracle.com/technetwork/ java/javase/tech/vmoptions-jsp-140102.html – user1329572

+0

Powód, dla którego linia poleceń nie jest wymieniona w dokumentacji, jest, ponieważ jak sama nazwa wskazuje, jest tam, aby zdiagnozować maszynę wirtualną. Można założyć, że ludzie debugujący hotspot prawdopodobnie je znają;) – Voo

+0

ten [link] (http://www.javaworld.com/article/2073676/hotspot-jvm-opcje-wyświetlane------printflagsinitial-and --xx - printflagsfinal.html) wyjaśnia te opcje krótko i całkiem dobrze. – sactiw

Odpowiedz

11

Najlepszą dokumentacją, jaką znalazłem, jest the source.

Użyłem this SO Q&A do utworzenia kompilacji debugowania. W tej kompilacji debugowania można uruchomić java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version.

Z katalogu ze źródłami, można wykonać (zakładając, że używasz Linuksa, Cygwin lub podobny):

grep -FR 'UnlockExperimentalVMOptions' hotspot/ 

Albo, co następuje (co wygląda tylko na *.cpp i *.hpp plików):

find hotspot/ -name '*.[ch]pp' -exec grep -F 'UnlockExperimentalVMOptions' {} + 

Następnie spójrz na pliki źródłowe. Prawdopodobnie najlepszym powodem, dla którego nie ma jednego dokumentu opisującego wszystkie opcje, jest to, że niektóre z tych opcji lepiej pozostawić tym, którzy naprawdę rozumieją maszynę JVM, a najlepszym sposobem na to jest dokładne zaznajomienie się z kodem źródłowym.

Więc, w słowach (prawie) z wielkiego master, use the source!

+0

Źródło jest z definicji doskonałą dokumentacją programu. Zobacz także http://www.codinghorror.com/blog/2012/04/learn-to-read-the-source-luke.html – Pyrolistical

+0

@Pyrolistical Dzięki za link; dobrze czytać i nie wiedziałem, że Jeff Atwood ostatnio blogował na temat "przeczytaj źródło". –