मुझे जावा में अधिकतम आकार के साथ कैश को कार्यान्वित करने की आवश्यकता है, इसे स्मृति में कैश के वास्तविक आकार का उपयोग करके और कैश में तत्वों की संख्या का उपयोग करना चाहते हैं। इस कैश में मूल रूप से स्ट्रिंग को कुंजी और स्ट्रिंग के रूप में मूल्य के रूप में रखा जाएगा। मैंने पहले ही जावा की लिंक्ड हैशैप संरचना का उपयोग करके कैश को कार्यान्वित कर दिया है, लेकिन सवाल यह है कि कैसे कैश के वास्तविक आकार को जानना है ताकि आकार ऑब्जेक्ट होने पर ऑब्जेक्ट को छोड़ने के लिए मैं नीति को अनुकूलित कर सकूं।एलआरयू बाइट कैश जावा
उपकरण पैकेज के getObjectSize() का उपयोग करके इसे गणना करना चाहता था लेकिन ऐसा लगता है कि वांछित काम नहीं कर रहा है।
जब मुझे मिलता है तो ऑब्जेक्ट साइज (एक स्ट्रिंग) जो भी स्ट्रिंग का आकार होता है, यह वही आकार देता है: 32. मुझे लगता है कि यह स्ट्रिंग के संदर्भ आकार का उपयोग कर रहा है या ऐसा कुछ नहीं है। तो इस समस्या को कुशलतापूर्वक हल करने के बारे में नहीं जानते।
क्या आपके पास कोई विचार है?
बहुत बहुत धन्यवाद!
Thx, जो मुझे लगता है कि नौकरी और शायद मेरे लागू कैश की तुलना में बेहतर होना चाहिए। आप किस प्रकार का कैश सुझाएंगे? प्रविष्टियों या कैश के आकार के आधार पर? यह जानकर कि एप्लिकेशन को सर्वर पर चलाना है और मशीन पर उपलब्ध सभी मेमोरी ले सकते हैं। – Abbadon