हम जावा द्वारा लिखे गए एक स्विंग एप्लिकेशन को विकसित कर रहे हैं जिसके लिए केवल 128 एमबी मेमोरी की आवश्यकता है, और कम भविष्य में मुझे नहीं लगता कि इसे 4 जीबी की तरह अधिक मेमोरी की आवश्यकता होगी। पहले हम हमेशा 3 अलग-अलग रिलीज प्रदान करते हैं, एक 32-बिट विंडोज़ के लिए, एक 32-बिट लिनक्स के लिए और दूसरा 64-बिट लिनक्स के लिए, जिसमें एक इंस्टॉलर है जिसमें जेआरई शामिल है। 64-बिट संस्करण का उपयोग कुछ हफ्ते पहले तक किसी भी व्यक्ति द्वारा नहीं किया गया था, और आउटऑफमेमरी अपवाद की सूचना दी गई थी क्योंकि एप्लिकेशन 32-बिट संस्करण की तुलना में 40-50% अधिक स्मृति का उपभोग करता है।32-बिट या 64-बिट एप्लिकेशन?
मेरा सवाल यह है कि क्या 64 बिट बिट लिनक्स के लिए 64-बिट संस्करण प्रदान करने के लिए यह आवश्यक है कि एप्लिकेशन को 4 जीबी से अधिक स्मृति का उपयोग करने की आवश्यकता न हो? हमारे पास कुछ त्वरित परीक्षण था, जिसमें पता चला कि 32-बिट संस्करण 64-बिट लिनक्स पर भी काम करता है। लेकिन मुझे यकीन नहीं है कि हमारे पास क्या विपक्ष हो सकता है, उदाहरण के लिए प्रदर्शन और/या संगतता मुद्दा?
मुझे इसे थोड़ा सा स्पष्ट करने दें: 32 बिट संस्करण का उपयोग कर रहा है 64 एमबी संस्करण के लिए अधिकतम मेमोरी के रूप में 128 एमबी, इसे 1 9 2 एमबी की आवश्यकता हो सकती है, इसलिए हमें न केवल अतिरिक्त 64 बिट इंस्टॉलर बनाना है, बल्कि हमें अलग-अलग विन्यास भी बनाना है, जो पूरी चीज को और अधिक जटिल बनाता है। और यदि हम सभी संस्करणों के लिए 1 9 2 एमबी का उपयोग करते हैं तो यह स्मृति लीक को हमारे लिए इतना दृश्यमान नहीं बना सकता है क्योंकि 32-बिट संस्करण का अब तक उपयोग किया जाता है। एक और बात यह है कि उस सर्वर पर कई एप्लिकेशन चल सकते हैं ताकि हम मेमोरी खपत को जितना संभव हो उतना कम करना चाहें। –
यदि आप 64-बिट JVM में 32-बिट संदर्भों का उपयोग करते हैं तो इसे अधिक मेमोरी की आवश्यकता नहीं होगी। –