मैं समझता हूं कि जब एक डायरेक्टबाइटबफर आवंटित किया जाता है, तो यह कचरा संग्रह के अधीन नहीं होता है, लेकिन मैं क्या सोच रहा हूं कि रैपिंग ऑब्जेक्ट कचरा एकत्रित है।जावा डायरेक्टबेट बफर रैपर कचरा एकत्रित हैं?
उदाहरण के लिए, यदि मैंने एक नया डायरेक्टबाइटबफर डीबीबी आवंटित किया है, और उसके बाद dbb.duplicate() का उपयोग करके डुप्लिकेट (उथला नकल) है, तो मेरे पास स्मृति के समान हिस्से के चारों ओर दो रैपर होंगे।
क्या वे रैपर कचरा संग्रह के अधीन हैं? अगर मैंने
while(true){
DirectByteBuffer dbb2 = dbb.duplicate();
}
क्या मैं अंत में खुद को ओम करूँगा?
असल में, डायरेक्टबाइटबफर और इसकी मूल स्मृति _might_ एकत्रित कचरा हो। यह मूल आवंटित स्मृति को जारी करने के लिए एक प्रेत संदर्भ का उपयोग करता है। –