2012-05-07 20 views
67

trovato un interessante JVM Bandiera:Stampa tutte le bandiere JVM

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

Esso stampa centinaia di varie opzioni, non ho mai sentito parlare prima. Stampa anche valori predefiniti, che aiutano a diagnosticare meglio i comportamenti di JVM. Un'altra bandiera interessante è:

-XX:+UnlockExperimentalVMOptions 

Qualcuno sa di qualsiasi documentazione che spiega ognuno di loro?

+5

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

+0

Il motivo per cui la riga di comando non è elencata nella documentazione è perché, come dice il nome, è lì per diagnosticare la VM. Si può presumere che le persone che eseguono il debug degli hotspot probabilmente li conoscono;) – Voo

+0

questo [collegamento] (http://www.javaworld.com/article/2073676/hotspot-jvm-options-displayed---xx--printflagsinitial-and --xx - printflagsfinal.html) spiega queste opzioni in breve e abbastanza bene. – sactiw

risposta

11

La migliore documentazione che ho trovato è the source.

Ho usato this SO Q&A per creare una build di debug. Con questa build di debug, è possibile eseguire java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version.

Dalla directory con le fonti, si potrebbe eseguire (supponendo che si sta usando Linux, Cygwin o simili):

grep -FR 'UnlockExperimentalVMOptions' hotspot/ 

Oppure, quanto segue (che guarda solo *.cpp e *.hpp file):

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

Quindi controllare i file di origine. Probabilmente il miglior motivo per cui non esiste un documento che descrive tutte le opzioni è che alcune di queste opzioni sono meglio lasciate a coloro che comprendono veramente la JVM e il modo migliore per farlo è diventare intimamente familiari con il codice sorgente.

Quindi, nelle parole (quasi) di un grande master, use the source!

+0

La fonte è per definizione perfetta documentazione del programma. Vedi anche http://www.codinghorror.com/blog/2012/04/learn-to-read-the-source-luke.html – Pyrolistical

+0

@Pirolistical Grazie per il link; buona lettura e non sapevo che Jeff Atwood ha scritto di recente su "leggi la fonte". –

Problemi correlati