के लिए कार्यान्वयन के लिए अनुशंसित कम मेमोरी हैशप मैं वर्तमान में प्रोग्रामिंग से संबंधित समस्या पर काम कर रहा हूं जहां मुझे डेटा का भारी हैशप बनाने का प्रयास किया गया है। डेटा के लिए कुंजी एक CharSequence का कस्टम कम-स्मृति कार्यान्वयन है जो हैशकोड() और बराबर (...) लागू करता है और मान इंटीजर ऑब्जेक्ट है।जावा
इस हैशटेबल में लाखों प्रविष्टियां हो सकती हैं और मैं इंटीजर को उस डेटा में एक पॉइंटर होने के द्वारा स्मृति के लिए स्मृति उपयोग को कम करने में कामयाब रहा हूं, लेकिन समस्या यह है कि कुंजी हो सकती है बाइट्स (औसत 25 बाइट्स पर) और हैश मैप के डिफ़ॉल्ट कार्यान्वयन में कुंजी को स्मृति में रखने की आवश्यकता है।
मुझे एक हैशैप की आवश्यकता है जिसमें कम मेमोरी ओवरहेड हो और जो संभवतः डिस्क पर कुंजी को पृष्ठ पर रखे या वैकल्पिक रूप से चाबियों के एक धोखे का प्रतिनिधित्व कर सके। यदि चाबियां खुद ही धोती हैं तो मैं हैश टकराव के बारे में चिंतित हूं।
आदर्श रूप से, मैं प्रति 50 एमबी हेप स्पेस (कुंजी में 25 बाइट्स की एक बाइट सरणी और मूल्य भाग में इंटीजर ऑब्जेक्ट) में एक लाख प्रविष्टियों को स्टोर करने में सक्षम होना चाहता हूं।
क्या किसी को कम-मेमोरी फाइल सिस्टम-बैक वाले मैप्स के साथ कोई अनुभव है जो कुंजी के पदचिह्न को कम करने के लिए अनुकूलित किया गया है?
धन्यवाद,
क्रिस
स्थान और समय अक्सर व्यापार संबंधों में होते हैं। नोड जोड़ने, खोजने, हटाने के लिए आपका प्रदर्शन/स्केलेबिलिटी आवश्यकता क्या है? यदि आप बस कम स्मृति चाहते हैं तो आप एक सरणी का उपयोग कर सकते हैं। –
इस तरह की आवाज़ें आप चाहते हैं कि स्मृति डेटाबेस में है? –