सही कमजोर संदर्भ, नहीं, अभी तक नहीं (लेकिन ब्राउज़र निर्माता विषय को देख रहे हैं)। लेकिन यहां एक विचार है कि कमजोर संदर्भों का अनुकरण कैसे किया जाए।
आप एक कैश का निर्माण कर सकते हैं जिसे आप अपनी वस्तुओं के माध्यम से चलाते हैं। जब कोई ऑब्जेक्ट स्टोर किया जाता है, तो कैश इस बात की भविष्यवाणी करता है कि ऑब्जेक्ट कितनी मेमोरी लेगा। कुछ वस्तुओं के लिए, छवियों को संग्रहीत करने की तरह, यह सीधे बाहर काम करने के लिए है। दूसरों के लिए यह अधिक कठिन होगा।
जब आपको किसी वस्तु की आवश्यकता होती है, तो आप उसके लिए कैश पूछते हैं। यदि कैश में ऑब्जेक्ट है, तो उसे वापस कर दिया जाता है। यदि यह नहीं है, तो आइटम उत्पन्न होता है, संग्रहीत किया जाता है, और फिर वापस आ जाता है।
कमजोर संदर्भों को कैश निकालने वाले आइटम द्वारा सिम्युलेटेड किया जाता है, जब अनुमानित मेमोरी की कुल मात्रा एक निश्चित स्तर तक पहुंच जाती है। यह अनुमान लगाएगा कि कौन सी वस्तुओं का उपयोग कम से कम कितनी बार वे पुनर्प्राप्त किए गए हैं, इस आधार पर किया जाता है कि वे कितनी देर पहले निकाले गए थे। एक 'गणना' लागत को भी जोड़ा जा सकता है, यदि आइटम बनाने वाले कोड को बंद करने के रूप में कैश में पारित किया जाता है। यह कैश को उन वस्तुओं को रखने की अनुमति देगा जो निर्माण या उत्पन्न करने के लिए बहुत महंगी हैं।
विलोपन एल्गोरिथ्म कुंजी है, क्योंकि अगर आपको यह गलत लगता है तो आप सबसे लोकप्रिय वस्तुओं को हटा सकते हैं। यह भयानक प्रदर्शन का कारण होगा।
जब तक कैश संग्रहीत ऑब्जेक्ट्स के स्थायी संदर्भों के साथ एकमात्र ऑब्जेक्ट है , तब तक उपरोक्त सिस्टम को सच्चे कमजोर संदर्भों के विकल्प के रूप में बहुत अच्छी तरह से काम करना चाहिए।