32-बिट/64-बिट हिस्सा जावा
से संबंधित नहीं है ऐसा लगता है कि एक 32-बिट सिस्टम में स्मृति स्थल के 32-बिट अहस्ताक्षरित पूर्णांक के द्वारा दर्शाया जाता है। यह 2^32 संभव स्मृति स्थानों तक की अनुमति देता है। चूंकि प्रत्येक स्थान 1 बाइट स्टोर करता है, इसलिए आपको 2^32 बाइट्स या 4 जीबी मिलती है।
64 बिट सिस्टम पर 2^64 स्थान या 16 एक्साबाइट्स हैं।
अब, विंडोज़ में, संगत हिस्सा एक बड़ा मुद्दा बन जाता है, लेकिन यह वही है जो विंडोज चीजें करता है। विचार यह है कि आपको अपने ढेर के लिए एक संपूर्ण "निर्बाध" सीमा की आवश्यकता है। अफसोस की बात है, विंडोज बीच में कुछ स्मृति आवंटित करता है। यह मूल रूप से आपके ढेर को आवंटित करने के लिए लगभग 1.5-2 जीबी भाग, लगभग आधे बाएं तरफ या आधे दाहिने तरफ के साथ छोड़ देता है।
32 बनाम 64 बिट पर अधिक जानकारी के लिए this question देखें।
संपादित करें: एक्सा उपसर्ग के लिए धन्यवाद mrjoltcola!
32-बिट ओएस पर किसी भी 32-बिट जेवीएम की सीमा लगभग 1.2 जीबी (विंडोज़ के कुछ संस्करण) से 2.0 जीबी (सोलारिस) तक है। 64-बिट सोलारिस पर 32-बिट जेवीएम 4 जीबी प्राप्त कर सकते हैं। मुझे लगता है कि 64-बिट विंडोज़ पर अधिकतम 64-बिट जेवीएम 32 जीबी है। – Seth
मुझे 64 बिट Win7 पर 32 बिट जेवीएम की उम्मीद होगी कि वह 4 जीबी भी प्राप्त कर सके - लेकिन ऐसा नहीं है - यह 1.5 जीबी फिर से है ... (जेडीके 5) – zb226