"আমি আপনাকে বস্তুর জীবনকাল সম্পর্কে কয়েকটি আকর্ষণীয় জিনিস বলতে চাই। জাভাতে, দুর্ঘটনাক্রমে একটি বস্তুকে ধ্বংস করা খুব কঠিন। যদি আপনার কাছে একটি বস্তুর উল্লেখ থাকে তবে এটি জীবিত।

আপনি একটি বস্তুর রেফারেন্স পরিবর্তন করতে পারবেন না, এবং আপনি তাদের বাড়াতে বা কমাতে পারবেন না। উপরন্তু, আপনি একটি বস্তুর একটি রেফারেন্স তৈরি করতে পারবেন না। আপনি শুধুমাত্র একটি রেফারেন্স বরাদ্দ করতে পারেন বা এটি নাল সেট করতে পারেন।"

"আমি মনে করি আমি বুঝতে পেরেছি, এলি। তাই যদি আমি একটি বস্তুর সমস্ত রেফারেন্স মুছে ফেলি (বা নাল সেট করি), তাহলে আমি আর কখনো সেই বস্তুর রেফারেন্স পেতে বা অ্যাক্সেস করতে পারব না, তাই না?"

"এটি সঠিক। যাইহোক, আপনার এমন পরিস্থিতিও হতে পারে যেখানে সিস্টেমে অনেকগুলি লাইভ অবজেক্ট রয়েছে যা ব্যবহার করা হচ্ছে না। প্রোগ্রামাররা প্রায়শই কয়েক ডজন অবজেক্ট তৈরি করে, সেগুলিকে প্রক্রিয়াকরণের জন্য বিভিন্ন তালিকায় সংরক্ষণ করে এবং তারপরে এই তালিকাগুলি কখনই খালি করে না।

প্রোগ্রামারদের প্রয়োজন নেই এমন বস্তুগুলিকে সাধারণত আবর্জনা সংগ্রহের জন্য যোগ্য হিসাবে চিহ্নিত করা হয়। কেউ তাদের তালিকা থেকে মুছে দেয় না। ফলস্বরূপ, বড় জাভা প্রোগ্রামগুলি প্রায়শই খুব বড় হয়ে যায় কারণ আরও বেশি অব্যবহৃত বস্তু মেমরিতে থাকে।

আপনি শীঘ্রই এটিতে ছুটে যাবেন না, তবে প্রতিবার আমি আপনাকে এই অব্যবহৃত বস্তুগুলি সম্পর্কে মনে করিয়ে দেব, সেইসাথে তাদের নিষ্পত্তি করার সঠিক উপায়।"

"ঠিক আছে। ধন্যবাদ, এলি, আমাকে রেফারেন্স বুঝতে সাহায্য করার জন্য।"