2012-02-27 17 views
6

मैं ग्रहण का उपयोग कर रहा जावा कार्यक्रम वर्ग को चलाने के लिए, जब मैं चलाने यह मैं इस त्रुटिअपवाद "मुख्य" java.lang.OutOfMemoryError: जावा ढेर अंतरिक्ष

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 

मिला तो मैं से वी एम बदल गुण> भागो> वी एम विकल्प है, और मैं चलाने के कार्यक्रम फिर से मैं एक नया त्रुटि मिली,

Error occurred during initialization of VM 
Incompatible initial and maximum heap sizes specified 

मैं अपने कार्यक्रम, किसी भी विचार इस त्रुटि को हल करने के लिए कैसे में स्टैनफोर्ड पुस्तकालयों को लागू करने की कोशिश कर रहा हूँ।

+0

इसका मतलब है कि आपने बहुत अधिक स्मृति आवंटित की है। कोड को देखे बिना, मैं आपको उससे ज्यादा नहीं बता सकता ... – parkovski

+0

आपने वीएम विकल्पों में क्या बदल दिया? –

+1

मैं शुरुआत में स्मृति का आकार बदलता हूं, शुरुआत में मैंने 50 मीटर मेमोरी का उपयोग किया था, फिर जब पहला संदेश मेरे पास आता है तो मैं वीएम को 512 मीटर में बदलता हूं, मुझे दूसरा संदेश मिला –

उत्तर

7

वीएम ग्रहण के लिए आप से विंडोज> प्राथमिकताएं एमवी की मात्रा बदल सकते> जावा बदलने के लिए> वहाँ से स्थापित JREs JRE चुन कर संपादन क्लिक करें, फिर डिफ़ॉल्ट वीएम तर्क में लिखें: -Xmx1024M या करने के लिए स्मृति की कोई अन्य राशि ...

+1

मैं कितनी मेमोरी जोड़ सकता हूं? –

2

Error occurred during initialization of VM. Incompatible initial and maximum heap sizes specified

यह शायद मतलब है कि आप दोनों -Xms और -Xmx विकल्प, और -Xms (प्रारंभिक ढेर आकार) मूल्य -Xmx (अधिकतम ढेर आकार) मूल्य से भी बड़ा है की आपूर्ति की।


netbeans provide to change the -Xms only from Properties > run > VM options

मैं एक NetBeans उपयोगकर्ता नहीं हूँ। हालांकि, Using NetBeans 5.0 मैनुअल का एक संक्षिप्त खोज का कहना है यह सही नहीं है:

Setting JVM Arguments

You can specify JVM arguments for the project in the Project Properties dialog box. Open the Project Properties dialog box and click Run in the Categories pane and then type a space-separated list of JVM arguments in the VM Options field.

दूसरे शब्दों में, आप किसी भी JVM विकल्प है कि आपके JVM का समर्थन करता है निर्धारित कर सकते हैं।


here is the string that i changed -Xms512m

(अंत में वह हमें बताता है !!)

रूप में अच्छी तरह -Xmx512m जोड़ें।

रिकॉर्ड के लिए, सामान्य JVM विकल्प (जैसे -Xmx और -Xms) को java कमांड के लिए मैन्युअल पृष्ठ में स्पष्ट रूप से दस्तावेज़ित किया गया है। आपको इसे सावधानी से पढ़ना चाहिए।

+1

मुझे लगता है कि वह एक्सएमएक्स –

+1

में 'एम' प्रत्यय भूल गया है नेटबीन केवल गुण> रन> वीएम विकल्पों से -Xms को बदलने के लिए प्रदान करता है, मैं कैसे बदल सकता हूं - नेटबीन्स में एक्सएमएस .. –

+0

मैं एक प्रोग्राम चलाने की कोशिश कर रहा हूं जिसमें एनएनआर स्टैनफोर्ड एनएलपी शामिल है, और जब पहली त्रुटि संदेश चलाने की कोशिश की जाती है, तो मैं वीएम को 512 मीटर में बदलता हूं और दूसरी त्रुटि प्रश्न में दिखाई देती है .. –

0

वीएम ढेर आकार का उपयोग बढ़ाने के लिए -एक्सएमएक्स विकल्प, यह त्रुटि को हल कर सकता है। लेकिन ऐसा लगता है कि यह आपकी कोडिंग समस्या है। शायद कोड नई ऑब्जेक्ट बनाने के लिए एक मृत पाश में है, या आपके कोड में एक बहुत बड़ी वस्तु बनाई गई है, इसलिए मेरा सुझाव है कि आप पहले कोड जांचें।

+0

त्रुटि तब होती है जब मैं अन्य सुविधाओं के लिए एंटीटी नामांकित पहचान "स्टैनफोर्ड एनएलपी" चलाने की कोशिश करता हूं, प्रोग्राम सुचारू रूप से चलाता है –

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