मैं एक कार्यक्रम है जहाँ मैं एक बहुत बड़ी short[]
सरणी का उपयोग किया जाएगा है की तुलना में बड़ा ढेर स्थान की आवश्यकता होती और इसलिए 2^30 तत्वों के साथ एक सरणी को लगभग 2 जीबी रैम की आवश्यकता होनी चाहिए।जावा क्या उचित
क्रम कार्यक्रम चलाने के लिए, इसलिए मैं
java -Xms2000m HPTest
की कोशिश की, लेकिन अभी भी एक ढेर अंतरिक्ष त्रुटि मिली। यहां तक कि 3000m
पर भी मुझे एक ही त्रुटि मिली, लेकिन 4000m
पर यह काम किया।
कोई विचार है कि मुझे 2000m
की अनुमानित सीमा से अब तक क्यों जाना है?
संपादित करें: जैसा कि कई उपयोगकर्ताओं द्वारा इंगित किया गया है, मैंने यह घोषणा करने में एक बहुत ही शर्मनाक त्रुटि की है कि 2 बाइट्स की बजाय एक छोटी आवश्यकता है। सवाल तब होना चाहिए कि यह 2000m
के साथ पर्याप्त क्यों नहीं है।
छोटा 2 बाइट्स है ... –
एक 'बाइट' एक बाइट है, इस प्रकार नाम। बीटीडब्ल्यू '1 << एन' की शक्ति के लिए 2 की गणना करने का एक और अधिक प्रभावी तरीका है। –
फिर भी, 3000 मीटर/3 जीबी उसके लिए पर्याप्त होना चाहिए? –