কম্পিউটার

জাভাস্ক্রিপ্টে রেফারেন্স-কাউন্টিং আবর্জনা সংগ্রহ সম্পর্কে বিস্তারিত ব্যাখ্যা করুন?


রেফারেন্স-গণনা আবর্জনা সংগ্রহ

এটি হল সবচেয়ে সহজ আবর্জনা সংগ্রহের অ্যালগরিদম৷ এই অ্যালগরিদমটি সেই সমস্ত বস্তুগুলির সন্ধান করে যেগুলির কোনও রেফারেন্স বাকি নেই৷ একটি বস্তু আবর্জনা সংগ্রহের জন্য যোগ্য হয়ে ওঠে যদি তার সাথে কোনও উল্লেখ না থাকে৷ আবর্জনা সংগ্রহটি নীচের উদাহরণে ব্যাখ্যা করা হয়েছে৷

উদাহরণ

var obj = {
      x: { y: 2 }
         };
         // 2 objects created. One is referenced by the other as one of its properties.
         // Obviously, none can be garbage-collected
obj = 1; // what was the 'x' property of the object originally in obj
         // has zero references to it. It can be garbage collected.

সীমাবদ্ধতা

যখন এটি চক্র আসে রেফারেন্স-গণনা আবর্জনা সংগ্রহের সীমাবদ্ধতা রয়েছে এবং এটি নীচের উদাহরণে ব্যাখ্যা করা হয়েছে।

উদাহরণ

নিম্নলিখিত উদাহরণে, দুটি বস্তু তৈরি করা হয়েছিল এবং একটি চক্র তৈরি করে সেখানে একে অপরকে উল্লেখ করা হয়েছিল। একটি ফাংশন কলের পরে তারা সুযোগের বাইরে চলে যাবে, তাই তারা কার্যকরভাবে অকেজো এবং মুক্ত করা যেতে পারে৷ কিন্তু রেফারেন্স-গণনা অ্যালগরিদম বিবেচনা করে যে যেহেতু দুটি বস্তুর প্রত্যেকটিকে অন্তত একবার উল্লেখ করা হয়েছে, তাই আবর্জনা-সংগ্রহ করা যাবে না৷

function f() {
var obj1 = {};
var obj2 = {};
obj1.p = obj2; // o1 references o2
obj2.p = obj1; // o2 references o1. This creates a cycle.
}
f();

  1. জাভাস্ক্রিপ্টে নেটিভ প্রোটোটাইপ ব্যাখ্যা কর।

  2. জাভাস্ক্রিপ্টে শর্টহ্যান্ড ফাংশন ব্যাখ্যা করুন?

  3. জাভাস্ক্রিপ্টে বিবৃতিতে...এর জন্য ব্যাখ্যা কর?

  4. জাভাস্ক্রিপ্টে বস্তুর সমতা ব্যাখ্যা কর।