2012-05-07 14 views
67

मिले एक दिलचस्प JVM करें:प्रिंट सभी JVM झंडे

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

यह विभिन्न विकल्प के सैकड़ों प्रिंट, मैं कभी नहीं के बारे में पहले सुना। यह डिफ़ॉल्ट मान भी प्रिंट करता है, जो JVM व्यवहारों को बेहतर तरीके से निदान करने में सहायता करता है। एक और दिलचस्प झंडा है:

-XX:+UnlockExperimentalVMOptions 

किसी को भी किसी भी प्रलेखन जो उनमें से हर एक बताते हैं की जानता है?

+5

http://www.oracle.com/technetwork/ जावा/जावसे/तकनीक/vmoptions-jsp-140102.html – user1329572

+0

कारण है कि कमांडलाइन दस्तावेज में सूचीबद्ध नहीं है, क्योंकि नाम कहता है कि यह वीएम का निदान करने के लिए है। यह माना जा सकता है कि हॉटस्पॉट को डिबग करने वाले लोग शायद उन्हें जानते हैं;) – Voo

+0

यह [लिंक] (http://www.javaworld.com/article/2073676/hotspot-jvm-options-displayed--xx--printflagsinitial-and --xx - printflagsfinal.html) इन विकल्पों को संक्षिप्त और बहुत अच्छी तरह से बताता है। – sactiw

उत्तर

11

मुझे मिली सर्वोत्तम दस्तावेज the source है।

मैंने डीबग बिल्ड बनाने के लिए this SO Q&A का उपयोग किया है। इस डीबग बिल्ड के साथ, आप java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version चला सकते हैं।

स्रोतों के साथ निर्देशिका से, आप पर अमल कर सकता है (यह मानते हुए आप लिनक्स, Cygwin या की तरह उपयोग कर रहे हैं):

grep -FR 'UnlockExperimentalVMOptions' hotspot/ 

या, निम्नलिखित (जो केवल *.cpp और *.hpp फ़ाइलों पर लग रहा है):

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

फिर स्रोत फ़ाइलों को देखें। शायद सबसे अच्छा कारण यह है कि सभी विकल्पों का वर्णन करने वाला कोई भी दस्तावेज़ क्यों नहीं है कि इनमें से कुछ विकल्प उन लोगों के लिए बेहतर हैं जो वास्तव में जेवीएम को समझते हैं और ऐसा करने का सबसे अच्छा तरीका स्रोत कोड से घनिष्ठ रूप से परिचित होना है।

तो, master, use the source के शब्दों (लगभग) शब्दों में, तो!

+0

स्रोत परिभाषा द्वारा कार्यक्रम के सही दस्तावेज है। यह भी देखें http://www.codinghorror.com/blog/2012/04/learn-to-read-the-source-luke.html – Pyrolistical

+0

@ लिंक के लिए धन्यवाद धन्यवाद; अच्छा पढ़ा और मुझे नहीं पता था कि जेफ एटवुड ने हाल ही में 'स्रोत को पढ़ने' के बारे में ब्लॉग किया था। –