বিজ্ঞপ্তি সংক্রান্ত রেফারেন্স সহ জাভা আবর্জনা সংগ্রহ কীভাবে কাজ করে?


161

আমার বোধগম্যতা থেকে, জাভাতে আবর্জনা সংগ্রহ কিছু জিনিস পরিষ্কার করে যদি সেই বস্তুর দিকে আর কিছুই নির্দেশ করা না থাকে।

আমার প্রশ্ন হ'ল আমাদের যদি এরকম কিছু থাকে তবে:

class Node {
    public object value;
    public Node next;
    public Node(object o, Node n) { value = 0; next = n;}
}

//...some code
{
    Node a = new Node("a", null), 
         b = new Node("b", a), 
         c = new Node("c", b);
    a.next = c;
} //end of scope
//...other code

a, bএবং cএগুলি আবর্জনা সংগ্রহ করা উচিত, তবে সেগুলি সমস্ত অন্যান্য বিষয় দ্বারা রেফারেন্স করা হচ্ছে।

জাভা আবর্জনা সংগ্রহ কীভাবে এটি মোকাবেলা করে? (বা এটি কেবল একটি স্মৃতি ড্রেন?)


1
দেখুন: stackoverflow.com/questions/407855/... , নির্দিষ্টভাবে @gnud দ্বিতীয় উত্তর।
শেঠ

উত্তর:


161

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

পরিশিষ্ট এ: অলঙ্ঘনযোগ্য অবজেক্টগুলির বিভাগটি দেখুন: জাভা প্ল্যাটফর্মের পারফরম্যান্সে ময়লা আবর্জনা সংগ্রহের বিষয়ে সত্য : গুরূত্বপূর্ণ বিশদ সম্পর্কিত কৌশল এবং কৌশল


14
আপনি কি তার জন্য একটি রেফারেন্স আছে? এটি পরীক্ষা করা শক্ত।
টাঞ্জেন

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

1
কেবলমাত্র এই শেষ মন্তব্যটি স্পষ্ট করার জন্য ... চূড়ান্তকরণ পদ্ধতিতে একটি ডিবাগ প্রিন্ট স্টেটমেন্ট রাখুন যা বস্তুর জন্য একটি অনন্য আইডি প্রিন্ট করে। একে অপরের সংগৃহীত সমস্ত বস্তু আপনি দেখতে সক্ষম হবেন।
বিল

4
"... চিনতে যথেষ্ট স্মার্ট ..." বিভ্রান্তিকর শোনায়। জিসিকে চক্রগুলি চিনতে হবে না - এগুলি কেবল অ্যাক্সেসযোগ্য নয়, তাই আবর্জনা
আলেকজান্ডার মালাখভ

86
@ টেঞ্জেনস "এর জন্য আপনার কি কোনও রেফারেন্স আছে?" আবর্জনা সংগ্রহ সম্পর্কে একটি আলোচনায়। সেরা। শ্লেষ। কখনো।
মিশা কোসমুলস্কি

139

হ্যাঁ জাভা আবর্জনা সংগ্রহকারী বিজ্ঞপ্তি-রেফারেন্স পরিচালনা করে!

How?

এখানে আবর্জনা-সংগ্রহের শিকড় (জিসি শিকড়) নামে পরিচিত বিশেষ অবজেক্ট রয়েছে। এগুলি সর্বদা পৌঁছনীয় এবং যে কোনও বস্তুর নিজস্ব মূলে রয়েছে is

একটি সাধারণ জাভা অ্যাপ্লিকেশনটিতে নিম্নলিখিত জিসি শিকড় রয়েছে:

  1. মূল পদ্ধতিতে স্থানীয় ভেরিয়েবল
  2. মূল থ্রেড
  3. মূল শ্রেণীর স্ট্যাটিক ভেরিয়েবল

এখানে চিত্র বর্ণনা লিখুন

কোন বস্তুগুলি আর ব্যবহারযোগ্য নয় তা নির্ধারণ করার জন্য, JVM মাঝেমধ্যে এমনটি চালায় যা খুব উপযুক্তভাবে একটি মার্ক-অ্যান্ড-সুইপ অ্যালগরিদম বলে । এটি নিম্নলিখিত হিসাবে কাজ করে

  1. অ্যালগরিদম জিসি শিকড় দিয়ে শুরু করে সমস্ত অবজেক্টের রেফারেন্সকে ট্র্যাভার করে এবং জীবিত হিসাবে পাওয়া প্রতিটি বস্তুকে চিহ্নিত করে।
  2. চিহ্নিত বস্তুগুলি দখল করে না এমন সমস্ত হিপ মেমরির পুনরুদ্ধার করা হয়। এটিকে কেবল নিখরচায় চিহ্নিত করা হয়েছে, অব্যবহৃত অবজেক্টগুলিতে মূলত অদলবদল করা।

সুতরাং যদি কোনও বস্তুর জিসি শিকড় থেকে অ্যাক্সেসযোগ্য না হয় (এটি স্ব-রেফারেন্সযুক্ত বা চক্রযুক্ত-রেফারেন্সড হলেও) এটি আবর্জনা সংগ্রহের শিকার হবে।

অবশ্যই কখনও কখনও এটি মেমোরি ফাঁস হতে পারে যদি প্রোগ্রামার কোনও বস্তুর অবজ্ঞা করতে ভুলে যায়।

এখানে চিত্র বর্ণনা লিখুন

সূত্র: জাভা মেমরি ম্যানেজমেন্ট


3
নিখুঁত ব্যাখ্যা! ধন্যবাদ! :)
জোভান পেরোভিচ

বইটি লিঙ্ক করার জন্য ধন্যবাদ। এটি এবং অন্যান্য জাভা বিকাশের বিষয়গুলি সম্পর্কে দুর্দান্ত তথ্য দিয়ে পূর্ণ!
দ্রোজ

14
শেষ ছবিতে, একটি অ্যাক্সেস অযোগ্য বস্তু রয়েছে তবে এটি পৌঁছনীয় অবজেক্ট বিভাগে রয়েছে।
লা ভ্লোজেড মেরিল

13

কোনও আবর্জনা সংগ্রহকারী এমন কিছু "রুট" জায়গাগুলির সেট থেকে শুরু হয় যা সর্বদা "পৌঁছনীয়" হিসাবে বিবেচিত হয়, যেমন সিপিইউ রেজিস্টার, স্ট্যাক এবং গ্লোবাল ভেরিয়েবল। এটি areas অঞ্চলগুলিতে কোনও পয়েন্টার সন্ধান করে এবং পুনরাবৃত্তভাবে তারা চিহ্নিত সমস্ত কিছু সন্ধান করে works একবার এটি সমস্ত পাওয়া গেলে, সমস্ত কিছু আবর্জনা।

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

তবুও, মূল ধারণাটি একই রয়ে গেছে: এটি সমস্ত কিছু মূল সেট থেকে শুরু করে যা মঞ্জুর হয় তা ব্যবহার করা যেতে পারে, এবং তারপরে আর কী কী ব্যবহার হতে পারে তা খুঁজে পাওয়ার জন্য সমস্ত পয়েন্টারকে তাড়া করে।

আকর্ষণীয় বিষয়টিকে বাদ দিয়ে: লোকেরা প্রায়শই কোনও আবর্জনা সংগ্রাহকের এই অংশের মধ্যে দূরত্ব প্রক্রিয়া কলগুলির মতো জিনিসের জন্য মার্শালিং অবজেক্টের কোডের কোডের সাথে মিলের মাত্রা দেখে অবাক হতে পারে। প্রতিটি ক্ষেত্রে, আপনি কিছু মূল সামগ্র থেকে সেট শুরু করছেন, এবং নির্দেশিত অন্যান্য সমস্ত অবজেক্টগুলি খুঁজে পাওয়ার জন্য পয়েন্টারগুলি তাড়া করছেন ...


আপনি যা বর্ণনা করছেন তা হ'ল ট্রেসিং সংগ্রাহক। অন্যান্য ধরণের সংগ্রহকারী রয়েছে। এই আলোচনার জন্য বিশেষ আগ্রহ রেফারেন্স কাউন্টিং সংগ্রাহক, যা হয় না চক্র পদ্ধতিতে সমস্যা দেখা দেয়।
Jörg ডব্লু মিট্টাগ

@ জার্গ ডব্লু মিটাগ: অবশ্যই সত্য - যদিও আমি এমন কোনও (যুক্তিযুক্ত বর্তমান) জেভিএম সম্পর্কে জানি না যা রেফারেন্স গণনা ব্যবহার করে, সুতরাং এটি অসম্ভব বলে মনে হচ্ছে (কমপক্ষে আমার কাছে) এটি মূল প্রশ্নের সাথে অনেক বেশি পার্থক্য করে।
জেরি কফিন 23

@ জার্গ ডব্লু মিটাগ: কমপক্ষে ডিফল্টরূপে আমি বিশ্বাস করি জিক্স আরভিএম বর্তমানে ইমিক্স সংগ্রাহক ব্যবহার করে, এটি অঞ্চল ভিত্তিক ট্রেসিং সংগ্রাহক (যদিও এটি রেফারেন্স গণনাও ব্যবহার করে না)। আপনি সেই রেফারেন্স গণনা উল্লেখ করছেন কিনা তা নিশ্চিত নই, বা অন্য কোনও সংগ্রাহক যিনি ট্রেসিং ছাড়াই রেফারেন্স গণনা ব্যবহার করেন (আমি উত্তরটি অনুমান করব, যেহেতু আমি এমিক্সকে "পুনর্ব্যক্তিকর" বলে ডাকিনি কখনও শুনিনি)।
জেরি কফিন

আমি কিছুটা মিশ্রিত হয়ে উঠলাম: পুনর্নবীকরণকারীটি (ছিল?) জলপানোতে বাস্তবায়িত হয়েছিল, আমি যে অ্যালগরিদম সম্পর্কে ভাবছিলাম, যা জিক্সে প্রয়োগ হয়েছিল (সেটি?) হ'ল আলটিরিয়ার রেফারেন্স কাউন্টিং । অ্যাটলফ, অবশ্যই বলেছিলেন যে জাইকগুলি এটি ব্যবহার করে বা আবর্জনা সংগ্রহকারী যথেষ্ট ব্যার্থ, জিক্স এবং বিশেষত এমএমটেক বিশেষভাবে একই জেভিএমের মধ্যে বিভিন্ন জঞ্জাল সংগ্রহকারীদের দ্রুত বিকাশ এবং পরীক্ষা করার জন্য ডিজাইন করা হয়েছে।
Jörg ডব্লু মিটাগ

2
২০০৯ সালে একই লোক যারা ইমিক্স ডিজাইন করেছিলেন 2007 সালে আল্টেরিয়র রেফারেন্স কাউন্টিং ডিজাইন করেছিলেন, তাই আমি অনুমান করি যে সম্ভবত পরবর্তীটি পূর্বেকে ছাড়িয়ে গেছে। ইউআরসি বিশেষভাবে নকশা করা হয়েছিল যাতে এটি অন্যান্য কৌশলগুলির সাথে একত্রিত করা যায় এবং ইউআরসি পেপারে স্পষ্টভাবে উল্লেখ করা হয় যে ইউআরসি কেবল সংগ্রাহকের দিকে এক ধাপে পাথর যা ট্রেসিং এবং রেফারেন্স গণনার সুবিধাগুলি একত্রিত করে। আমার ধারণা ইমিক্স সেই সংগ্রাহক। যাইহোক, রিসাইক্লার একটি খাঁটি রেফারেন্স গণনা সংগ্রাহক, যা চক্রটি সনাক্ত এবং সংগ্রহ করতে পারে: ডাব্লুডাব্লুডব্লিউ.আর.সার্ক.আই.বি.এম.কম
ডব্লু

13

আপনি সঠিক. আপনার বর্ণনা করা আবর্জনা সংগ্রহের নির্দিষ্ট ফর্মটিকে " রেফারেন্স কাউন্টিং " বলা হয় । সহজ পদ্ধতিতে এটি যেভাবে কাজ করে (ধারণাগতভাবে, কমপক্ষে, আধুনিকতম রেফারেন্স গণনার বাস্তবায়নগুলি বেশ কিছুটা ভিন্নভাবে বাস্তবায়িত হয়) এটি দেখতে এইরকম দেখাচ্ছে:

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

এবং এই সাধারণ কৌশলটি হ'ল আপনার ডিক্রিবিইর সমস্যাটি: যদি A এবং B এবং B রেফারেন্স এ হিসাবে উল্লেখ করা হয় তবে তাদের উভয় রেফারেন্স গণনা কখনই 1 এর চেয়ে কম হতে পারে না , যার অর্থ তারা কখনই সংগ্রহ করবেন না।

এই সমস্যাটি মোকাবেলার জন্য চারটি উপায় রয়েছে:

  1. বাদ দাও. আপনার যদি পর্যাপ্ত স্মৃতি থাকে তবে আপনার চক্রগুলি ছোট এবং খুব কম এবং আপনার রানটাইমটি খুব কম, সম্ভবত আপনি চক্রটি সংগ্রহ না করেই পালিয়ে যেতে পারেন। শেল স্ক্রিপ্ট দোভাষী সম্পর্কে চিন্তা করুন: শেল স্ক্রিপ্টগুলি সাধারণত কয়েক সেকেন্ডের জন্য চালিত হয় এবং বেশি মেমরি বরাদ্দ দেয় না।
  2. অন্যের সাথে আপনার রেফারেন্স গণনা আবর্জনা সংগ্রহকারী একত্রিত করুন যার চক্র নিয়ে সমস্যা নেই। সিপিথন এটি করে, উদাহরণস্বরূপ: সিপিথনের মূল আবর্জনা সংগ্রহকারী একটি রেফারেন্স গণনা সংগ্রাহক, কিন্তু সময়ে সময়ে চক্র সংগ্রহের জন্য একটি ট্রেসিং আবর্জনা সংগ্রহকারী চালানো হয়।
  3. চক্রগুলি সনাক্ত করুন। দুর্ভাগ্যক্রমে, একটি গ্রাফে চক্র সনাক্তকরণ একটি ব্যয়বহুল অপারেশন। বিশেষত, এটির জন্য অনেকগুলি একই ওভারহেডের দরকার হয় যা একটি ট্রেসিং সংগ্রাহক করতে পারে, সুতরাং আপনি সেইগুলির মধ্যে একটিও ব্যবহার করতে পারেন।
  4. আপনি এবং আমি যেভাবে নিখুঁতভাবে অ্যালগরিদমটি বাস্তবায়ন করবেন না: ১৯ since০-এর দশক থেকে, একাধিক বেশ আকর্ষণীয় অ্যালগোরিদম বিকাশিত হয়েছে যেগুলি চক্র সনাক্তকরণ এবং রেফারেন্স গণনাটিকে একটি চৌকস উপায়ে একত্রিত করে যা সেগুলি করার চেয়ে উল্লেখযোগ্যভাবে সস্তা either উভয় পৃথকভাবে বা একটি ট্রেসিং সংগ্রাহক করছেন।

যাইহোক, কোনও আবর্জনা সংগ্রহকারীকে বাস্তবায়নের জন্য অন্যান্য বড় উপায় (এবং আমি ইতিমধ্যে উপরের দু'বার ইঙ্গিত দিয়েছি), এটি সন্ধান করছে । একটি ট্রেসিং সংগ্রাহক পুনঃচঞ্চলতার ধারণার উপর ভিত্তি করে । আপনি কিছু সাথে শুরু রুট সেট আপনি কি জানেন যে সবসময় পৌঁছানো (গ্লোবাল ধ্রুবক, উদাহরণস্বরূপ, বা Objectবর্গ, বর্তমান আভিধানিক সুযোগ, বর্তমান স্ট্যাক ফ্রেম) এবং থেকে সেখানে আপনি ট্রেস সমস্ত বস্তু যে রুট সেট থেকে পৌঁছানো হয়, তারপর রুট সেট থেকে অ্যাক্সেসযোগ্য সমস্ত বস্তুগুলি এবং আপনার যেমন ট্রানজিটিভ ক্লোজার না পাওয়া পর্যন্ত। সবকিছু যে না যে অবসান আবর্জনা হয়।

যেহেতু একটি চক্র কেবলমাত্র নিজের মধ্যে পৌঁছতে পারে তবে মূল সেট থেকে পৌঁছনীয় নয়, এটি সংগ্রহ করা হবে।


1
যেহেতু প্রশ্ন জাভা-নির্দিষ্ট, আমি মনে করি এটি জাফ উল্লেখযোগ্য যে জাভা রেফ গণনা ব্যবহার করে না এবং তাই সমস্যাটি অস্তিত্বহীন। এছাড়াও উইকিপিডিয়ায় লিঙ্ক "আরও পড়া" হিসাবে সহায়ক হবে। অন্যথায় দুর্দান্ত ওভারভিউ!
আলেকজান্ডার মালাখভ

আমি জেরি কফিনের পোস্টে আপনার মন্তব্যগুলি কেবল পড়েছি, তাই এখন আমি নিশ্চিত নই :)
আলেকজান্ডার মালাখভ

8

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

  • স্ট্যাটিক ভেরিয়েবল
  • স্থানীয় চলক (সমস্ত প্রয়োগযোগ্য 'এই' রেফারেন্স সহ) বর্তমানে চলমান থ্রেডের স্ট্যাকের মধ্যে রয়েছে

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

আপনি চাইলে তোফুবির লিঙ্কটিতে আরও বিশদ রয়েছে।


"... বর্তমানে চলমান থ্রেডের স্ট্যাকের মধ্যে ..." অন্য থ্রেডের ডেটাটি নষ্ট না করার জন্য এটি সমস্ত থ্রেডের স্ট্যাকগুলি স্ক্যান করছে না?
আলেকজান্ডার মালাখভ

6

এই নিবন্ধটি (আর উপলভ্য নয়) আবর্জনা সংগ্রহকারী সম্পর্কে গভীরতার মধ্যে যায় (ধারণাগতভাবে ... বেশ কয়েকটি বাস্তবায়ন রয়েছে)। আপনার পোস্টের প্রাসঙ্গিক অংশটি "A.3.4 অ্যাক্সেসযোগ্য":

A.3.4 অ্যাক্সেসযোগ্য কোনও বস্তু একটি অ্যাক্সেসযোগ্য স্থানে প্রবেশ করে যখন এর সাথে আর কোনও শক্তিশালী উল্লেখ নেই। যখন কোনও বস্তু অ্যাক্সেসযোগ্য নয়, তখন এটি সংগ্রহের প্রার্থী। শব্দটি নোট করুন: কেবল কোনও বস্তু সংগ্রহের প্রার্থী হওয়ার অর্থ এটি অবিলম্বে সংগ্রহ করা হবে না। জেভিএম সংগ্রহ অবধি বিলম্ব করতে পারে যতক্ষণ না অবজেক্টের দ্বারা মেমরির গ্রাস করার তাত্ক্ষণিক প্রয়োজন হয়।



1
লিঙ্কগুলি আর পাওয়া যায়
তিতাস

1

আবর্জনা সংগ্রহের অর্থ সাধারণত "কিছু বস্তু পরিষ্কার করা হয় না যদি অন্য কোনও কিছুই সেই বস্তুর দিকে নির্দেশ করা হয় না" (এটি রেফারেন্স গণনা)। আবর্জনা সংগ্রহের অর্থ মোটামুটি এমন জিনিসগুলি সন্ধান করা যা প্রোগ্রাম থেকে পৌঁছানো যায় না।

সুতরাং আপনার উদাহরণে, a, b, এবং c এর বাইরে যাওয়ার পরে এগুলি GC দ্বারা সংগ্রহ করা যেতে পারে, যেহেতু আপনি এই বিষয়গুলিতে আর অ্যাক্সেস করতে পারবেন না।


"আবর্জনা সংগ্রহের অর্থ মোটামুটি এমন জিনিসগুলি সন্ধান করা যা প্রোগ্রাম থেকে পৌঁছানো যায় না"। বেশিরভাগ জিসি অ্যালগরিদমে এটি অন্যান্য চারপাশে আসলে। আপনি জিসি শিকড় দিয়ে শুরু করুন এবং যা দেখতে পাচ্ছেন তা দেখুন, বাকিটিকে অবাস্তব আবর্জনা হিসাবে বিবেচনা করা হয়।
ফ্রেডরিক

1
রেফারেন্স কাউন্টিং হল আবর্জনা সংগ্রহের জন্য দুটি প্রধান বাস্তবায়ন কৌশল এক। (অন্যটি ট্রেস করছে))
জার্গ ডব্লু মিট্টাগ

3
@ জার্গ: আজকের বেশিরভাগ সময়, লোকেরা আবর্জনা সংগ্রহকারীদের সম্পর্কে কথা বলার সময় তারা কোনও ধরণের মার্ক'ইউইউইপ অ্যালগরিদমের উপর ভিত্তি করে সংগ্রহকারীদের উল্লেখ করছেন। আপনার কাছে আবর্জনা সংগ্রহকারী না থাকলে আপনি সাধারণত আটকে যাচ্ছেন তা গণনা করা হচ্ছে Ref এটি সত্য যে রেফ গণনা একটি অর্থে আবর্জনা সংগ্রহের কৌশল কিন্তু আজকের দিনে খুব কমই উপস্থিত কোন জিসি যার উপরে এটি তৈরি করা হয়েছে যে এটি বলা হয় যে এটি একটি সিসি কৌশলই কেবল মানুষকে বিভ্রান্ত করতে চলেছে কারণ বাস্তবে এটি আর একটি জিসি নেই practice কৌশল কিন্তু মেমরি পরিচালনা করার একটি বিকল্প উপায়।
ফ্রেডরিক

1

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.