मैं अभी इस answer in SO पर आया हूं जहां यह उल्लेख किया गया है कि Google संग्रह MapMaker बहुत बढ़िया है। मैं प्रलेखन के माध्यम से गया लेकिन वास्तव में यह पता नहीं लगा सका कि मैं इसका उपयोग कैसे कर सकता हूं। क्या किसी भी परिदृश्य में यह पता चलता है कि यह कहां होगा MapMaker का उपयोग करने के लिए उपयुक्त है।Google संग्रह का उपयोग MapMaker?
उत्तर
यहाँ एक ही रास्ता है की एक त्वरित नमूना मैं MapMaker
का उपयोग किया है है इसे सर्वर से पुनर्प्राप्त कर देगा, इसे कैश करेगा, और इसे वापस कर देगा। मुझे इसके बारे में सोचना नहीं है कि इसे स्थापित करने के बाद। इसके अलावा, चूंकि मैंने सेट किया है, इसलिए कैश भर नहीं सकता है और स्मृति समस्याओं का कारण बन सकता है क्योंकि सिस्टम स्मृति आवश्यकताओं के जवाब में इससे प्रविष्टियों को साफ़ करने में सक्षम है। यदि मानचित्र से कैश किए गए मान को साफ़ किया गया है, हालांकि, अगली बार इसकी आवश्यकता होने पर यह सर्वर से फिर से पूछ सकता है!
बात यह है कि यह केवल एक ही तरीका है जिसका उपयोग किया जा सकता है। मानचित्र को मजबूत, कमजोर या मुलायम कुंजी और/या मानों का उपयोग करने का विकल्प, साथ ही विशिष्ट समय के बाद प्रविष्टियों को निकालने का विकल्प, आपको इसके साथ बहुत सारी चीज़ें करने देता है।
'getFoo' होना चाहिए और 'getFooFromServer' यहां एक ही कार्य हो? –
@ टॉम: नहीं, क्योंकि जब 'fooCache.get (id)' कहा जाता है, तो गणना कैश में नहीं होने पर कंप्यूटिंग मानचित्र का 'फ़ंक्शन' कहा जाएगा। यदि 'फ़ंक्शन' को फिर से 'getFoo'' कहा जाता है, तो यह एक बार फिर 'fooCache.get' को कॉल करने का प्रयास करेगा। उस ने कहा, 'getFooFromServer()' के लिए कोड को एक अलग विधि के बजाय 'फंक्शन' के अंदर सही रूप से परिभाषित किया जा सकता है ... मैंने अभी यह स्पष्ट करने के लिए एक नामित विधि का उपयोग किया है कि फ़ंक्शन बिना किसी वास्तविक नकली को लिखने के क्या करता है सर्वर को कॉल करने के लिए कोड। – ColinD
यदि आप SoftReference
और WeakReference
के विवरणों को देखते हैं तो यह आपकी सहायता कर सकता है।
SoftReference
कैश में उपयोग के लिए बहुत उपयोगी है, क्योंकि जब स्मृति कम हो जाती है तो उन्हें विशेष रूप से साफ़ किया जाएगा।
WeakReference
कचरा कलेक्टर को बताता है कि यह तब तक संदर्भित वस्तु को एकत्र कर सकता है जब तक कि इसके कहीं और कोई मजबूत संदर्भ न हो। यह आम तौर पर उन चीजों के साथ प्रयोग किया जाता है जिन्हें तुरंत आवश्यकतानुसार देखा जा सकता है।
तो, कैश के लिए softValues के साथ एक ConcurrentMap बनाने के लिए MapMaker का उपयोग करने पर विचार करें, और अस्थायी लुकअप टेबल के लिए कमजोर के साथ एक।
संपादित करें: softValues एक एलआरयू नीति का उपयोग करता है।
private final ConcurrentMap<Long, Foo> fooCache = new MapMaker()
.softValues()
.makeComputingMap(new Function<Long, Foo>() {
public Foo apply(Long id) {
return getFooFromServer(id);
}
});
public Foo getFoo(Long id) {
return fooCache.get(id);
}
get(id)
नक्शे पर कहा जाता है, यह या तो Foo
कि आईडी या यह 'के लिए नक्शे में है कि वापसी करेंगे:
- 1. कैश बनाने के लिए MapMaker का उपयोग
- 2. Google संग्रह के साथ कमजोर मल्टीमैप बनाएं
- 3. MapMaker डिजाइन पैटर्न?
- 4. Google संग्रह
- 5. Google संग्रह का LazyMap कहां है?
- 6. कचरा संग्रह का उपयोग?
- 7. Google संग्रह ImmutableMap पुनरावृत्ति आदेश
- 8. संग्रह का उपयोग कर LINQ
- 9. Google का उपयोग C#
- 10. क्या कोई मुझे बता सकता है जब यह MapMaker या WeakHashMaps का उपयोग करने में उपयोगी होता है?
- 11. Backbone.js संग्रह का संग्रह
- 12. बैकबोन जेएस संग्रह संग्रह का संग्रह
- 13. Google संग्रह में मानचित्रों की स्थैतिक प्रारंभिकता का सर्वोत्तम तरीका
- 14. Google संग्रह क्यों Apache संग्रह की तरह MultiKeyMap का समर्थन नहीं करता है?
- 15. जावा: तत्काल Google संग्रह के हैशबैप
- 16. Google क्रोम सैंडबॉक्स का उपयोग
- 17. Google संग्रह में आलसी गैर-संशोधित सूची
- 18. का उपयोग करना और कूड़ा संग्रह
- 19. संग्रह में कुंजी का उपयोग करना .defaultdict
- 20. संग्रह दृश्यव्यू उपयोग प्रश्न
- 21. Google मानचित्र: Google मानचित्र API v3 का उपयोग करके मानचित्र
- 22. LINQ, एक संग्रह का अनूठा संग्रह बनाने
- 23. Google मानचित्र (PHP का उपयोग करके)
- 24. Google साइटमैप का उपयोग क्यों करें?
- 25. एंड्रॉइड में Google स्थल API का उपयोग
- 26. Google ऐप इंजन पर हंच का उपयोग
- 27. Google फ़ॉन्ट टैग का उपयोग क्यों करेगा?
- 28. Google मानचित्र में KMZ फ़ाइलों का उपयोग
- 29. मैं जावा कॉमन्स-संग्रह का उपयोग कैसे सीखूं?
- 30. मोंगोडीबी का संग्रह
देखें: http://stackoverflow.com/questions/3617680/can-someone-explain-to-me-when-it-is-useful-to-use-mapmaker-or-weakhashmaps – ColinD