मैं java.util.Map
के ऑन-डिस्क कार्यान्वयन की तलाश में हूं। कुछ भी फैंसी नहीं, बस कुछ ऐसा जो मैं किसी निर्देशिका या फ़ाइल पर इंगित कर सकता हूं और इसे अपनी सामग्री को वहां स्टोर कर सकता हूं, किसी भी तरह से यह चुनता है। क्या किसी को ऐसी चीज पता है?क्या वे जावा के मानचित्र के किसी भी सभ्य ऑन-डिस्क कार्यान्वयन हैं?
उत्तर
आप Disk-Backed-map प्रोजेक्ट पर एक नज़र डाल सकते हैं।
एक पुस्तकालय है कि जावा
एक छोटा सा पुस्तकालय है कि कुंजी मान युग्म की बड़ी संख्या के भंडारण के लिए एक डिस्क का समर्थन किया मानचित्र कार्यान्वयन प्रदान में एक डिस्क का समर्थन किया मानचित्र लागू करता है। नक्शा कार्यान्वयन (हैश मैप, हैशटेबल) बहुत सरल कुंजी/मूल्य जोड़े के लिए लगभग 3-4 मिलियन कुंजी/जीबी मेमोरी अधिकतम है और ज्यादातर मामलों में सीमा बहुत कम है। दूसरे हाथ पर डिस्कबैक नक्शा कुंजी/मूल्य जोड़े के आकार के बावजूद, 20 मिलियन (32 बिट जेवीएम) कुंजी/जीबी तक सख्त 16 मिलियन (64 बिट जेवीएम) स्टोर कर सकता है।
आप एक साधारण ईएचसीएच कार्यान्वयन का उपयोग कर सकते हैं? EHCache के बारे में अच्छी बात यह है कि लागू करने के लिए बहुत आसान हो सकता है :-)
मुझे लगता है कि आपने वास्तविक मानचित्र उदाहरण को क्रमबद्ध/deserialising से इंकार कर दिया है?
यदि आप डेटा को जारी रखने के लिए key-object
आधारित संरचनाओं की तलाश में हैं तो NoSQL डेटाबेस बहुत अच्छी पसंद हैं। आप पाएंगे कि उनमें से कुछ ऐसे MongoDB या Redis स्केल और बड़े डेटासेट के लिए प्रदर्शन करते हैं और हैश आधारित लुकअप के अलावा वे दिलचस्प क्वेरी और लेनदेन संबंधी सुविधाएं प्रदान करते हैं।
संक्षेप में इस प्रकार के सिस्टम मानचित्र कार्यान्वयन हैं। और यह आपके स्वयं के एडाप्टर को लागू करने के लिए बहुत जटिल नहीं होना चाहिए जो उन्हें पुल करने के लिए java.util.Map
लागू करता है।
इस समस्या के लिए एक अपेक्षाकृत नया खुला स्रोत समाधान की तरह लगता है, मैं इसे का उपयोग किया है, और यह की तरह अब तक
MapDB (mapdb.org) वास्तव में क्या आप देख रहे हैं है। डिस्क समर्थित ट्रीमैप और हैश मैप के अलावा यह आपको अन्य संग्रह प्रकार देता है।
यह मानचित्र भी थ्रेड-सुरक्षित हैं और वास्तव में अच्छा प्रदर्शन है।
देखें Features
यह कागज पर अच्छा लग रहा है, लेकिन मेरे अनुभव में यह दुखद रूप से धीमा है और बिल्कुल भी क्रैश नहीं है (यहां तक कि 'लेनदेन सक्षम' के साथ भी)। – dagnelies
Chronicle Map इस समस्या का एक आधुनिक और the fastest समाधान है। यह ConcurrentMap
इंटरफ़ेस लागू करता है और डेटा को डिस्क पर रखता है (हुड के नीचे, यह क्रॉनिकल मैप की मेमोरी को फ़ाइल में मैप करके किया जाता है)।
- 1. एंड्रॉइड जावा कार्यान्वयन त्रुटियां .. क्या वे दस्तावेज हैं?
- 2. ब्लूमियर फ़िल्टर के किसी भी कार्यान्वयन उपलब्ध हैं?
- 3. क्यूटी + लिस्प के किसी भी अच्छे कार्यान्वयन?
- 4. जावा के लिए श्रोताओं के साथ एक मानचित्र कार्यान्वयन है?
- 5. पूर्णांक के भीतर पत्र। वे क्या हैं?
- 6. जावा में आदेश सूची मानचित्र कार्यान्वयन
- 7. जावा के लिए सर्वश्रेष्ठ "3 डी डिस्प्ले" विकासशील वातावरण? (क्या वे भी मौजूद हैं?)
- 8. मानचित्र में किसी भी कुंजी/इटेरबल
- 9. जावा में संग्रह के साथ उपयोग करने के लिए फ़ंक्शंस के किसी भी अच्छे पुस्तकालय हैं, जैसे कि
- 10. जावा के लिए यूनिक्स सॉकेट कार्यान्वयन?
- 11. फोगबगज़-शैली कीबोर्ड शॉर्टकट्स के किसी भी अच्छे कार्यान्वयन?
- 12. स्कैला के लिए कोई भी अर्ध सभ्य जेडीबीसी रैपर?
- 13. नेट्सुइट दुःख: क्या कहीं भी सभ्य संदर्भ है?
- 14. प्रबंधित प्रकार क्या हैं? क्या वे डेल्फी के लिए विशिष्ट हैं? क्या वे विंडोज के लिए विशिष्ट हैं?
- 15. AJAX बैक बटन कार्यान्वयन: वे कैसे काम करते हैं?
- 16. किसी भी, AnyVal, AnyRef, ऑब्जेक्ट के बीच संबंध और जावा कोड में उपयोग किए जाने पर वे मानचित्र कैसे करते हैं?
- 17. विंडोज के लिए एक सभ्य गिट गुई नहीं मिल रहा है। किसी को भी पता है?
- 18. स्व आयोजन मानचित्र (SOM) कार्यान्वयन
- 19. किसी को भी java.util.Map कार्यान्वयन के बारे में पता है कम स्मृति उपयोग के लिए अनुकूलित?
- 20. क्या किसी भी मानचित्र से java.util.Map में कनवर्ट करने के लिए स्कैला में कोई तरीका है?
- 21. जावा: आदिम सरणी - क्या वे शुरू किए गए हैं?
- 22. जावास्क्रिप्ट: एक सभ्य लाल काले पेड़ कार्यान्वयन की आवश्यकता है
- 23. पायथन में स्थिर और आवृत्ति चर के बीच मतभेद। क्या वे भी मौजूद हैं?
- 24. जावा वीएम के विकल्प क्या हैं?
- 25. अभी भी मूल कार्यान्वयन
- 26. क्या SPARQL कार्यान्वयन थ्रेडेड हैं?
- 27. क्या किसी को भी किसी भी स्प्राइट संग्रह के बारे में पता है?
- 28. एनएससीओम्परिसन रीसेट और एनएससीओम्परेटर - वे क्या हैं?
- 29. क्या वहां कोई सभ्य मुक्त जावा डेटा प्लॉटिंग लाइब्रेरी है?
- 30. '__exidx_start' और '__exidx_end' वे क्या करते हैं?
यह उनकी वेबसाइट से सटीक उद्धरण है, लेकिन यह गलत होना चाहिए। 32-बिट जेवीएम की तुलना में 64-बिट जेवीएम के छोटे संग्रह होने के लिए इसका कोई मतलब नहीं है। –