Wednesday, 15 April 2015

java - Guava's expireAfterAccess cache on collection-view -


expireAfterAccess विधि के लिए javadoc कहते हैं:

निर्दिष्ट करता है कि प्रविष्टि की सृजन के बाद एक निश्चित अवधि समाप्त हो जाने के बाद प्रत्येक प्रविष्टि स्वतः कैश से हटा दी जानी चाहिए, उसके मूल्य का सबसे हाल ही में प्रतिस्थापन, या उसकी अंतिम पहुंच। प्रवेश समय सभी कैश पढ़ने और लिखने के कार्यों द्वारा रीसेट (कैश.एएसएप () सहित) प्राप्त करें (ऑब्जेक्ट) और कैश.एस्एप ()। डाल (कश्मीर, वी)), लेकिन संग्रह के दृश्य पर संचालन द्वारा नहीं कैश.एएसएपी

मेरे पास निम्न कोड है:

  कैश & lt; स्ट्रिंग, स्ट्रिंग & gt; कैश = कैशइल्डर। एनईयूब्लूल्डर () .इन्फ़ैरएफ़ेटर एविज़ (2, टाइम यूनेट। एसईसीएनडीएस)। बिल्ड (); समवर्ती मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; Map = cache.asMap (); Map.put ("a", "12345"); System.out.println ("प्रथम पहुंच:" + map.get ("a")); System.out.println ("दूसरा पहुंच:" + map.get ("a")); Thread.Sleep (1900); // 1.9 सेकेंड सिस्टम। आउट.प्रिंटएलएन ("तीसरा पहुंच:" + map.get ("a")); Thread.Sleep (1000); // 1 सेकंड सिस्टम.आउट.प्रिंटलाइन ("चौथा एक्सेस:" + map.get ("a")); Thread.Sleep (1500); // 1.5 सेकंड सिस्टम। आउट.प्रिंट ("फिविथ एक्सेस:" + map.get ("a"));   

और इसका आउटपुट है:

  पहले पहुंच: 12345 दूसरा पहुंच: 12345 तीसरा पहुंच: 12345 चौथा पहुंच: 12345 फिविड् एक्सेस: 12345   

इसलिए, जैसा कि हम देख सकते हैं कि एक्सेस का समय रीसेट किया गया है, जब हम संकलन-दृश्य पर कार्रवाई करते हैं। जवाडोक में क्या बोल्ड शब्द का अर्थ ऐसे मामले में है?

संग्रह के संचालन-कैश के दृश्य .asMap

से < कोड> हैं keySet () , मान () , entrySet () । इनमें से किसी पर फेरबदल तक पहुंच का समय रीसेट नहीं किया जाएगा, और न ही Map.Entry के माध्यम से entrySet () प्राप्त होगा div>

No comments:

Post a Comment