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

জাভাস্ক্রিপ্ট গারবেজ কালেকশন কী?

জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবে মেমরি অ্যালোকেট করে, যখন একটি ভেরিয়েবল ডিক্লেয়ার করা হয়। গারবেজ কালেকশন অ্যাপ্লিকেশন দ্বারা আর ব্যবহৃত না হয় এমন মেমরি খুঁজে বের করে এবং মুক্ত করে, কারণ সেটি আর কোনো কাজে লাগে না। গারবেজ কলেক্টর Mark-and-sweep অ্যালগরিদম ব্যবহার করে অপ্রয়োজনীয় মেমরি খুঁজে বের করে।

এই অ্যালগরিদম ব্যবহার করা হয় যখন একটি অবজেক্ট আর রিচযোগ্য (unreachable) নয়। গারবেজ কলেক্টর অবজেক্টগুলো চিহ্নিত করে, যেগুলো রিচযোগ্য (reachable) বা অরিচযোগ্য (unreachable)। এই অরিচযোগ্য অবজেক্টগুলো স্বয়ংক্রিয় গারবেজ কলেক্টর দ্বারা পরিশোধ পায়।

Reference-Counting গারবেজ কালেকশনও জাভাস্ক্রিপ্টে ব্যবহৃত হয়। যদি কোনো অবজেক্টের কোনো রেফারেন্স না থাকে, তবে সেটি স্বয়ংক্রিয়ভাবে গারবেজ কালেক্ট হয়।

ব্যাখ্যা: আধুনিক ব্রাউজারগুলো মূলত Mark-and-Sweep ব্যবহার করে। Mark ফেজে রুট (global object) থেকে রিচযোগ্য সব অবজেক্ট চিহ্নিত করা হয়। Sweep ফেজে অচিহ্নিত (unreachable) অবজেক্টগুলোর মেমরি মুক্ত করা হয়। Reference Counting-এ সাইক্লিক রেফারেন্স (A→B, B→A) সমস্যা হয়, তাই ব্রাউজারগুলো এটি একমাত্র পদ্ধতি হিসেবে ব্যবহার করে না।

  1. C#-এ গার্বেজ কলেকশন ফোর্স করার পদ্ধতি

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

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

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