কম্পিউটার সায়েন্সের সমস্ত সমস্যা ইন্ডিয়ারেশনের অন্য স্তরের দ্বারা সমাধান করা যেতে পারে ... ইন্ডিরিশনের অনেকগুলি স্তরের সমস্যা বাদে
আপনার দৃষ্টিভঙ্গি অবিলম্বে আবর্জনা সংগ্রহের সমস্যার সমাধান করে না, তবে কেবল এটিকে এক স্তর উপরে নিয়ে যায়। আর কী দামে! এখন, প্রতিটি মেমরি অ্যাক্সেস অন্য পয়েন্টার বিন্যাসের মধ্য দিয়ে যায়। আমরা ফলাফলের অবস্থানটি ক্যাশে করতে পারি না, কারণ এর মধ্যে এটি আবার স্থানান্তরিত হতে পারে, আমাদের অবশ্যই সর্বদা অবজেক্ট আইডি দিয়ে যেতে হবে। বেশিরভাগ সিস্টেমে, এই নির্দেশনাটি গ্রহণযোগ্য নয় এবং বিশ্বকে থামিয়ে দেওয়ার জন্য মোট মোট রানটাইম ব্যয় কম বলে ধরে নেওয়া হয়।
আমি বলেছিলাম আপনার প্রস্তাবটি কেবল সমস্যাটিকে সরিয়ে দেয়, এটি সমাধান করে না। ইস্যুটি আইডিটির পুনরায় ব্যবহারের আশেপাশে। অবজেক্ট আইডি এখন আমাদের পয়েন্টারের সমতুল্য, এবং কেবলমাত্র সীমাবদ্ধ পরিমাণ ঠিকানা রয়েছে। এটি অনুধাবনযোগ্য (উদাহরণস্বরূপ 32 বিট সিস্টেমে) আপনার প্রোগ্রামের জীবদ্দশায় INT_MAX -রও বেশি অবজেক্ট তৈরি করা হবে যেমন লুপের মতো
while (true) {
Object garbage = new Object();
}
আমরা যদি প্রতিটি বস্তুর জন্য কেবলমাত্র আইডিকে আইক্রিমেন্ট বাড়িয়ে তুলি তবে আমরা কিছু সময় আইডি ছাড়িয়ে যাব। সুতরাং আমাদের খুঁজে বার করতে হবে যে কোন আইডি এখনও ব্যবহারে আছে এবং কোনটি নিখরচায় যাতে তাদের পুনরায় দাবি করা যেতে পারে। পরিচিত শব্দ? আমরা এখন স্কয়ার এক এ ফিরে এসেছি।