2009-05-01 16 views
9

पर अधिक ढेर स्थान आवंटित करें जब आप कमांड लाइन के माध्यम से कोई प्रोग्राम चलाते हैं, तो आप ढेर आकार निर्दिष्ट करने के लिए java -Xms -Xmx का उपयोग कर सकते हैं। यदि प्रोग्राम एक .jar फ़ाइल पर डबल क्लिक करके चलाया जा रहा है, तो क्या मानक से अधिक ढेर का उपयोग करने का कोई तरीका है?जावा जार

उत्तर

8

नहीं। यही कारण है कि मैं अक्सर उन पैरामीटर के साथ .bat या .sh फ़ाइल बना देता हूं और सीधे उपयोगकर्ताओं को .jar के बजाए इसे चलाने के लिए करता हूं। दुर्भाग्य से, यह एक कमांड-प्रॉम्प्ट विंडो पॉप अप करने के लिए थोड़ा बदसूरत है, लेकिन इसकी मदद नहीं की जा सकती है।

एक साइड लाभ के रूप में, यदि आपका एप्लिकेशन फ्रीज हो जाता है, तो आप बैच फ़ाइल में pause डाल सकते हैं (या इसे स्वयं करते हैं), और फिर आप किसी भी स्टैक ट्रेस को देख सकते हैं।

संपादित करें: आप भी इस तरह के JSmooth या एक बैच फ़ाइल के बजाय Launch4J के रूप में एक निष्पादन योग्य आवरण इस्तेमाल कर सकते हैं। हालांकि, आप कुछ क्रॉस-प्लेटफार्म संगतता खो देंगे।

+0

@mmyers: अपनी तेज छोटी उंगलियों को अभिशाप दें! मुझे 54 सेकंड तक मारना! – Welbog

+0

क्षमा करें, मुझे लगता है कि आप इस सवाल को संपादित करने में व्यस्त थे। (मुझे लगता है कि पहली बार किसी ने कभी भी मेरी तेज छोटी उंगलियों को शाप दिया है ...) –

+2

आप जेएसएमथ जैसे कुछ भी इस्तेमाल कर सकते हैं: http://jsmooth.sourceforge.net/ – millimoose

5

सीधे .jar फ़ाइल को डबल-क्लिक करने के बजाय, आप java -jar -Xms -Xmx your_file.jar चलाते हुए बैच फ़ाइल का उपयोग कर सकते हैं। उपयोगकर्ता के दृष्टिकोण से यह वही है, लेकिन यह आपको वास्तव में चलाने वाले आदेश पर अधिक नियंत्रण देता है।

+0

+1 मैंने किया था। :) –

2

आप JSmooth या एक समान रैपर का उपयोग कर सकते हैं, जो एक EXE फ़ाइल बनाता है जो आवश्यक पैरामीटर के साथ JVM लॉन्च करता है। इस तरह आप एक .bat फ़ाइल और उसके कंसोल संवाद से बच सकते हैं। अभी भी एक और तरीका है Runtime.exec या ProcessBuilder का उपयोग कर नई प्रक्रिया में वास्तविक प्रोग्राम शुरू करना।

5

आप अपने इच्छित विकल्प के साथ Runtime.getRuntime()। Exec() के साथ जार शुरू कर सकते हैं। जार में एक से अधिक मुख्य() विधि (विभिन्न वर्गों में) हो सकती है और आप एक को दूसरे को exec() के माध्यम से कॉल कर सकते हैं।

+0

एक और अच्छा विकल्प (हालांकि यह पता लगाना इतना आसान नहीं है कि उपयोग करने के लिए कितनी मेमोरी उपलब्ध है)। +1 –

संबंधित मुद्दे