কম্পিউটার টিউটোরিয়াল

C#-এ গার্বেজ কালেকশন (Garbage Collection) কী?

গার্বেজ কলেক্টর (GC) মেমোরির এলোকেশন (allocation) এবং রিলিজ (release) পরিচালনা করে। গার্বেজ কলেক্টর একটি স্বয়ংক্রিয় মেমোরি ম্যানেজার হিসেবে কাজ করে।

  • আপনাকে মেমোরি কীভাবে এলোকেট বা রিলিজ করতে হয় বা সেই মেমোরি ব্যবহার করা অবজেক্টগুলোর লাইফটাইম ম্যানেজ করতে হয় তা জানার দরকার নেই।
  • যেকোনো সময় আপনি new কীওয়ার্ড দিয়ে একটি অবজেক্ট ডিক্লেয়ার করলে বা একটি ভ্যালু টাইপ বক্সড (boxed) হয়, তখন একটি এলোকেশন তৈরি হয়। এলোকেশনগুলো সাধারণত খুব দ্রুত হয়।
  • যখন কোনো অবজেক্ট এলোকেট করার জন্য পর্যাপ্ত মেমোরি নেই, তখন GC অবশ্যই গার্বেজ মেমোরি সংগ্রহ ও ডিসপোজ করে নতুন এলোকেশনের জন্য মেমোরি ফ্রি করে।
  • এই প্রক্রিয়াকেই গার্বেজ কালেকশন বলা হয়।

C#-এ গার্বেজ কালেকশনের সুবিধাগুলো:

  • অ্যাপ্লিকেশন ডেভেলপ করার সময় আপনাকে ম্যানুয়ালি মেমোরি ফ্রি করতে হয় না।
  • এটি ম্যানেজড হিপ (managed heap) এ অবজেক্টগুলো কার্যকরভাবে এলোকেট করে।
  • যখন অবজেক্টগুলো আর ব্যবহার করা হয় না, তখন সেগুলোর মেমোরি ক্লিয়ার করে রিক্লেইম (reclaim) করে এবং ভবিষ্যতের এলোকেশনের জন্য মেমোরি উপলব্ধ রাখে।
  • ম্যানেজড অবজেক্টগুলো স্বয়ংক্রিয়ভাবে ক্লিন কন্টেন্ট পায়, তাই তাদের কনস্ট্রাক্টরকে প্রতিটি ডেটা ফিল্ড ইনিশিয়ালাইজ করতে হয় না।
  1. RAM (র‍্যান্ডম অ্যাক্সেস মেমরি) কী?

  2. রুবি GC মাস্টার: অপ্টিমাল পারফরম্যান্সের জন্য প্র্যাকটিক্যাল টিউনিং

  3. রুবির গার্বেজ কালেকশনে গভীরতর বাড়ুন: MRI ইমপ্লিমেন্টেশন ব্যাখ্যা

  4. রুবিতে গার্বেজ কালেকশন বুঝুন: পার্ট I