दिलचस्प पोस्ट
पायथन में बाहरी कमांड कॉल करना जावा में रीगेक्स के साथ XML को पार्स करना जावास्क्रिप्ट या jQuery ब्राउज़र बैक बटन क्लिक डिटेक्टर तत्व को किसी अन्य तत्व में कैसे स्थानांतरित करना है? दिए गए संभाव्यता matlab के साथ यादृच्छिक संख्या उत्पन्न करें सीएसएस के साथ आनुपातिक छवि का आकार बदलें? UIWebView में प्रमाणीकरण चुनौती कैसे प्रदर्शित करें? मॉडल पोस्टिंग विधि में बाध्य नहीं है विजुअल C ++ जीसीसी के __त्तात्व__ के बराबर ((__ पैक्ड__)) रिमोट गिट की शाखा मैं कैसे जांचूं? धूमकेतु और jQuery IE 8: पृष्ठभूमि-आकार तय बहुत बड़ी डेटाबेस फ़ाइलों के साथ SQLite की कार्यक्षमता क्या है? जावा में पूर्णांक और एक पूर्णांक और सी # के बीच अंतर क्या है? कन्वर्ट करने के लिए स्ट्रिंग को KeyEvents

कैसे जावा आवेदन के अंदर से VM तर्क प्राप्त करने के लिए?

मुझे यह जांचने की आवश्यकता है कि कुछ विकल्प जो JVM को पारित किया जा सकता है स्पष्ट रूप से सेट किया गया है या इसकी डिफ़ॉल्ट मान है

अधिक विशिष्ट होना:
मुझे मूलभूत ढेर के आकार के साथ एक विशिष्ट धागा बनाने की आवश्यकता है, लेकिन अगर उपयोगकर्ता को इस प्रकार की चीजों का ध्यान रखना -Xss विकल्प से खुद -Xss है, तो मैं सभी धागे को डिफ़ॉल्ट स्टैक आकार के साथ बनाना चाहता हूं (जो कि निर्दिष्ट किया जाएगा उपयोगकर्ता द्वारा -XSS विकल्प में)

मैंने java.lang.System और java.lang.Runtime जैसी कक्षाओं की जांच की है, लेकिन ये मुझे vmargs बारे में जानकारी नहीं दे रहे हैं।

क्या मुझे जानकारी की आवश्यकता है?

वेब के समाधान से एकत्रित समाधान "कैसे जावा आवेदन के अंदर से VM तर्क प्राप्त करने के लिए?"

इस कोड के साथ आप JVM तर्क प्राप्त कर सकते हैं:

 import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; ... RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); List<String> arguments = runtimeMxBean.getInputArguments(); 

स्टार्टअप पर यह पास -Dname=value

और फिर अपने कोड में आपको उपयोग करना चाहिए

 value=System.getProperty("name"); 

उस मूल्य को प्राप्त करने के लिए

मैंने विशेष रूप से वीएम सेटिंग्स प्राप्त करने की कोशिश नहीं की है, लेकिन जेएमएक्स उपयोगिताओं में विशेष रूप से एमएक्सबीईएन उपयोगिताओं के बारे में जानकारी का एक धन है। यह होगा जहां मैं शुरू होगा उम्मीद है कि आपकी मदद करने के लिए वहां कुछ मिल जाएगा

सूर्य वेबसाइट प्रौद्योगिकी पर एक गुच्छा है:

http://java.sun.com/javase/6/docs/technotes/guides/management/mxbeans.html

यदि आप अपनी जावा प्रक्रिया की संपूर्ण कमांड लाइन चाहते हैं, तो आप इसका उपयोग कर सकते हैं: JvmArguments.java (JNA + / proc के संयोजन का उपयोग करता है जो सबसे यूनिक्स लागू करने के लिए)

मैंने पाया है कि हॉटस्पॉट, प्रबंधन बीन में सभी वीएम तर्कों को सूचीबद्ध करता है, जिसमें क्लाइंट और -सर्वर को छोड़कर। इस प्रकार, यदि आप VM नाम से -client / -server तर्क का अनुमान लगाते हैं और इसे रनटाइम प्रबंधन बीन की सूची में जोड़ते हैं, तो आपको आर्गुमेंट की पूर्ण सूची मिलती है।

मेरे पास इस साइट का प्रदर्शन है, लेकिन स्टैक ओवरफ़्लो का कहना है कि मुझे इसे लिंक करने की अनुमति नहीं है।

ठीक है, यहां एसएससीसीई है:

 import java.util.*; import java.lang.management.ManagementFactory; class main { public static void main(final String[] args) { System.out.println(fullVMArguments()); } static String fullVMArguments() { String name = javaVmName(); return (contains(name, "Server") ? "-server " : contains(name, "Client") ? "-client " : "") + joinWithSpace(vmArguments()); } static List<String> vmArguments() { return ManagementFactory.getRuntimeMXBean().getInputArguments(); } static boolean contains(String s, String b) { return s != null && s.indexOf(b) >= 0; } static String javaVmName() { return System.getProperty("java.vm.name"); } static String joinWithSpace(Collection<String> c) { return join(" ", c); } public static String join(String glue, Iterable<String> strings) { if (strings == null) return ""; StringBuilder buf = new StringBuilder(); Iterator<String> i = strings.iterator(); if (i.hasNext()) { buf.append(i.next()); while (i.hasNext()) buf.append(glue).append(i.next()); } return buf.toString(); } } 

यदि आप एक List<String> में तर्क चाहते हैं तो कम किया जा सकता है