মূল পার্থক্য – আবর্জনা সংগ্রহকারী বনাম ধ্বংসকারী
অধিকাংশ প্রোগ্রামিং ভাষা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সমর্থন করে। এটি বস্তু ব্যবহার করে একটি প্রোগ্রাম বা একটি সফ্টওয়্যার তৈরি করার একটি পদ্ধতি। একটি অবজেক্ট একটি ক্লাস ব্যবহার করে তৈরি করা হয়, তাই এটি একটি ক্লাসের উদাহরণ। একটি ক্লাস অবজেক্টে কী থাকা উচিত তার বর্ণনা প্রদান করে। বস্তু তৈরি করার সময়, বস্তুর জন্য মেমরি বরাদ্দ করা হয়। অন্য কোন বস্তুর জন্য সেই মেমরিটি পুনরায় ব্যবহার করার জন্য বরাদ্দকৃত মেমরিটি প্রোগ্রাম এক্সিকিউশনের শেষে ছেড়ে দেওয়া উচিত। প্রোগ্রামিং ভাষা যেমন Java এবং C. NET মেমরি পরিচালনার জন্য আবর্জনা সংগ্রহকারী ব্যবহার করে যখন C এবং C++ এর মতো ভাষা প্রোগ্রামারকে মেমরি ব্যবস্থাপনা পরিচালনা করতে হয়।মেমরির প্রয়োজনীয় পরিমাণ বরাদ্দ করা উচিত, এবং মৃত্যুদন্ডের শেষে, মেমরিটি ছেড়ে দেওয়া উচিত। আবর্জনা সংগ্রহকারী এবং ধ্বংসকারী মেমরি মুক্তির জন্য ব্যবহার করা হয়। আবর্জনা সংগ্রাহক এবং ধ্বংসকারীর মধ্যে মূল পার্থক্য হল একটি আবর্জনা সংগ্রহকারী একটি সফ্টওয়্যার যা স্বয়ংক্রিয় মেমরি পরিচালনা করে যখন একটি ধ্বংসকারী একটি বিশেষ পদ্ধতি যা বস্তুর ধ্বংসের সময় আবর্জনা সংগ্রহকারী দ্বারা বলা হয়।
আবর্জনা সংগ্রহকারী কি?
কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ কোড এনভায়রনমেন্ট পরিচালনা করে। প্রোগ্রামিং ল্যাঙ্গুয়েজ জাভা এবং সি এ, স্বয়ংক্রিয় মেমরি ম্যানেজমেন্ট করা হয়। প্রোগ্রামারকে অবজেক্ট দ্বারা ব্যবহৃত মেমরি খালি করার দরকার নেই। এমনকি জটিল সিস্টেমগুলি বিকাশ করা তাদের পক্ষে সহজ কারণ মেমরি পরিচালনা স্বয়ংক্রিয়ভাবে সম্পন্ন হয়। প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন C, C++ এবং অবজেক্টিভ C, প্রোগ্রামের উচিত বস্তুর মেমরি সিস্টেমে ফিরিয়ে দেওয়া। জাভা এবং সি এর মতো ভাষাগুলি আর ব্যবহার করা হয় না এমন বস্তুগুলি বের করতে পারে।পরে, তারা সেই বস্তুগুলির জন্য বরাদ্দ করা মেমরিকে সিস্টেমে ফিরিয়ে দেয়।
প্রোগ্রামিং ল্যাঙ্গুয়েজ সি এবং জাভাতে যদি স্টুডেন্ট নামে একটি ক্লাস থাকে, তাহলে Student s=new Student (); ছাত্র শ্রেণীর একটি উদাহরণ তৈরি করতে 'নতুন' ব্যবহার করা হয়। এটি সিস্টেমে মেমরি বরাদ্দ করে। 's' সেই বস্তুর জন্য বরাদ্দ করা মেমরি ব্লককে নির্দেশ করছে। ভাষা পরিবেশগুলি বস্তুগুলি ব্যবহার করা হচ্ছে কিনা তা সনাক্ত করে। যদি সেগুলি আরও ব্যবহার না করা হয়, তবে মেমরিটি প্রকাশ করা হয় এবং পরে ব্যবহার করা যেতে পারে৷
চিত্র 01: আবর্জনা সংগ্রহকারী এবং ধ্বংসকারী
একটি প্রোগ্রাম চালানোর সময়, সিস্টেম মেমরি পুল থেকে মেমরির ব্লকগুলি বরাদ্দ করা হয়। তারপর সেই মেমরি ব্যবহার করে প্রোগ্রামটি কার্য সম্পাদন করে।প্রোগ্রাম এক্সিকিউশন শেষ হলে, আবর্জনা সংগ্রহকারী প্রোগ্রামের জন্য মেমরির বরাদ্দকৃত ব্লকগুলি অপরিহার্য কি না তা বের করে। যদি তাদের প্রয়োজন না হয়, সেই মেমরি ব্লকগুলি সিস্টেমে ফেরত দেওয়া হয়। সুতরাং, আবর্জনা সংগ্রাহক প্রোগ্রামে তৈরি বস্তুগুলি ট্র্যাক করতে পারে। যে মেমরি ব্লকগুলির আর প্রয়োজন নেই সেগুলি সিস্টেম মেমরি পুলে ফেরত পাঠানো হয়। এই প্রক্রিয়াটির প্রধান সুবিধা হল নিশ্চিত করা যে প্রোগ্রামারকে মেমরি ডিলোকেশনে মনোযোগ দিতে হবে না। এটি কর্মক্ষমতা এবং মেমরি ব্যবহারের ভারসাম্য বজায় রাখে।
একটি ধ্বংসকারী কি?
একটি ধ্বংসকারী একটি ক্লাসের একটি বিশেষ সদস্য ফাংশন। যখনই বস্তুটি সুযোগের বাইরে চলে যায় তখনই এটি আহ্বান করা হয়। একটি ফাংশন শেষ হলে বা প্রোগ্রাম এক্সিকিউশন শেষে অবজেক্টটি ধ্বংস হয়ে যেতে পারে। ধ্বংসকারীর ক্লাসের নামের একই নাম রয়েছে। অবজেক্ট তৈরি করতে কনস্ট্রাক্টর ব্যবহার করা হয়। এটি পরামিতি গ্রহণ করতে পারে। কনস্ট্রাক্টরের রিটার্ন মানও থাকতে পারে। কিন্তু একটি ধ্বংসকারীতে, কোন রিটার্ন টাইপ বা গ্রহণযোগ্য পরামিতি নেই।একটি ক্লাস শুধুমাত্র একটি ধ্বংসকারী গঠিত হতে পারে. টিল্ড চিহ্ন ব্যবহার করে একটি ধ্বংসকারীকে উল্লেখ করা হয়। যদি ক্লাসের নাম ছাত্র হয়, তাহলে ধ্বংসকারী হল ~ছাত্র () {}।
আবর্জনা সংগ্রাহক এমন জিনিসগুলি সন্ধান করে যেগুলির আর প্রয়োজন নেই৷ এটি নিশ্চিত করে যে প্রোগ্রাম দ্বারা আর ব্যবহার করা হয় না এমন বস্তুগুলি ধ্বংস করা উচিত। এটি ডেস্ট্রাক্টরকে মেমরি রিলিজ করতে এবং রিসোর্স ডিলোকেট করতে বলে। মেমরি রিলিজ করতে, ফাইল বন্ধ করতে, নেটওয়ার্ক রিসোর্স রিলিজ করতে এবং ডাটাবেস কানেকশন বন্ধ করতে ডিস্ট্রাক্টর উপযোগী। বেশিরভাগ প্রোগ্রামিং ভাষায়, ধ্বংসকারী লেখার প্রয়োজন হয় না কারণ আবর্জনা সংগ্রহকারী ডিফল্ট কনস্ট্রাক্টরকে নিজেই কল করে। প্রোগ্রামার যদি C++ এর মতো একটি ভাষায় পয়েন্টার ব্যবহার করে কোনো গতিশীল মেমরি বরাদ্দ করে থাকে, তাহলে অবজেক্টটি ধ্বংস হওয়ার আগে তাকে মেমরি রিলিজ করার জন্য একটি ধ্বংসকারী লিখতে হবে।
আবর্জনা সংগ্রহকারী এবং ধ্বংসকারীর মধ্যে মিল কী?
আবর্জনা সংগ্রহকারী এবং ধ্বংসকারী উভয়ই মেমরি প্রকাশ করতে ব্যবহৃত হয় যা প্রোগ্রামের জন্য আর প্রয়োজন হয় না।
আবর্জনা সংগ্রহকারী এবং ধ্বংসকারীর মধ্যে পার্থক্য কী?
আবর্জনা সংগ্রহকারী বনাম ধ্বংসকারী |
|
একটি আবর্জনা সংগ্রহকারী একটি সফ্টওয়্যার যা স্বয়ংক্রিয় মেমরি পরিচালনা করে। | একটি ধ্বংসকারী একটি বিশেষ পদ্ধতি যা বস্তুর ধ্বংসের সময় আবর্জনা সংগ্রহকারী দ্বারা ডাকা হয়। |
প্রকার | |
একটি আবর্জনা সংগ্রহকারী একটি সফ্টওয়্যার। | একটি ধ্বংসকারী একটি পদ্ধতি। |
সারাংশ – আবর্জনা সংগ্রহকারী বনাম ধ্বংসকারী
আবর্জনা সংগ্রহকারী এবং ধ্বংসকারী দুটি শব্দ মেমরি রিলিজ করার সাথে যুক্ত। এই নিবন্ধটি আবর্জনা সংগ্রহকারী এবং ধ্বংসকারীর মধ্যে পার্থক্য নিয়ে আলোচনা করেছে। আবর্জনা সংগ্রাহক এবং ধ্বংসকারীর মধ্যে পার্থক্য হল যে একটি আবর্জনা সংগ্রহকারী একটি সফ্টওয়্যার যা স্বয়ংক্রিয় মেমরি পরিচালনা করে যখন একটি ধ্বংসকারী একটি বিশেষ পদ্ধতি যা বস্তুর ধ্বংসের সময় আবর্জনা সংগ্রহকারী দ্বারা বলা হয়।
আবর্জনা সংগ্রহকারী বনাম ধ্বংসকারীর পিডিএফ ডাউনলোড করুন
আপনি এই নিবন্ধটির পিডিএফ সংস্করণ ডাউনলোড করতে পারেন এবং উদ্ধৃতি নোট অনুসারে অফলাইন উদ্দেশ্যে এটি ব্যবহার করতে পারেন। দয়া করে এখানে PDF সংস্করণ ডাউনলোড করুন: আবর্জনা সংগ্রহকারী এবং ধ্বংসকারীর মধ্যে পার্থক্য