दिलचस्प पोस्ट
क्रोम के टेक्स्टले में गलत वर्णों को अधिकतमलेम्बैथ विशेषता के साथ गिना जाता है स्विंग अवयव रचना करना: मैं ActionListeners जोड़ने की क्षमता कैसे जोड़ूं? JRE 8 में JavaFX का उपयोग करना MySQL में उन सभी विशिष्ट कॉलम नामों के साथ तालिकाओं को कैसे खोजें? पोस्टग्रेएसक्यूएल के साथ इसी तरह की स्ट्रिंग ढूँढना स्प्रिंग @ लेनदेन – अलगाव, प्रचार क्यों प्रतिक्रिया। रीडायरेक्ट सिस्टम का कारण होता है। थ्रेडिंग। थ्रेड एडोबेशन? मैं Rails में मॉडल की तालिका-नाम मैपिंग को स्पष्ट रूप से कैसे निर्दिष्ट करूँ? फ़ाइल की सृजन तिथि प्राप्त करना (एफ़टीपी) आईफ़िशिंग () को समझना टाइपस्क्रिप्ट, भ्रमित "डुप्लिकेट पहचानकर्ता" त्रुटि संदेश जावास्क्रिप्ट खींचें और स्पर्श उपकरणों के लिए ड्रॉप एचटीएम 5 वीडियो टैग पर स्रोत बदल रहा है किसी संख्या को अल्पविराम के रूप में फ्लोट में दशमलव बिंदु के रूप में परिवर्तित करना सीएसएस – बनाओ divs क्षैतिज संरेखित करें

कैसे जावा आवेदन के अंदर से 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> में तर्क चाहते हैं तो कम किया जा सकता है