বিভিন্ন আবর্জনা সংগ্রহের সেটিংস পরীক্ষা করে নেওয়ার জন্য সময় দেওয়ার ক্ষেত্রে প্রচুর বলা যেতে পারে, তবে উপরে উল্লিখিত হিসাবে এটি সাধারণত এটি কার্যকর হয় না।
আমি বর্তমানে একটি মেমোরি-সীমিত পরিবেশ এবং অপেক্ষাকৃত বিশাল পরিমাণের ডেটা জড়িত একটি প্রকল্পে কাজ করছি - এমন কয়েকটি বড় টুকরো তথ্য রয়েছে যা আমার পরিবেশকে তার সীমাতে ঠেলে দেয়, এবং যদিও আমি মেমরির ব্যবহার এতটা কমিয়ে আনতে সক্ষম হয়েছি তত্ত্বের ভিত্তিতে এটি ঠিকভাবে কাজ করা উচিত, আমি তখনও গাদা জায়গার ত্রুটিগুলি পেয়ে যাব - ক্রিয়াপদ জিসি বিকল্পগুলি আমাকে দেখিয়েছিল যে এটি আবর্জনা সংগ্রহের চেষ্টা করছে, কিন্তু কোনও ফলসই হয়নি। ডিবাগারে, আমি System.gc () সম্পাদন করতে পারতাম এবং নিশ্চিত যে যথেষ্ট পরিমাণে "প্রচুর পরিমাণে" মেমরি পাওয়া যাবে ... অতিরিক্ত পরিমাণে নয়, তবে যথেষ্ট।
ফলস্বরূপ, কেবলমাত্র যখন আমার অ্যাপ্লিকেশন সিস্টেম.gc () এ কল করে তখন কোডের সেগমেন্টে প্রবেশ করতে চলেছে যেখানে ডেটা প্রসেসিংয়ের জন্য প্রয়োজনীয় বড় বড় বাফারগুলি বরাদ্দ করা হবে এবং উপলব্ধ ফ্রি মেমরির একটি পরীক্ষা নির্দেশ করে যে আমি নই এটা আছে গ্যারান্টিযুক্ত বিশেষত, আমি একটি 1 জিবি পরিবেশের দিকে তাকিয়ে আছি যেখানে স্থিতিশীল ডেটা দ্বারা কমপক্ষে 300 মিমি দখল করা হয়, অ স্থির ডেটার বেশিরভাগ অংশ নির্বাহ-সম্পর্কিত হয়ে থাকে যখন ডেটা প্রক্রিয়াজাতকরণের সময় অন্তত 100-200 এমবি হতে পারে উৎস. এটি একটি স্বয়ংক্রিয় ডেটা রূপান্তর প্রক্রিয়ার সমস্ত অংশ, সুতরাং দীর্ঘমেয়াদে অপেক্ষাকৃত স্বল্প সময়ের জন্য সমস্ত ডেটা বিদ্যমান।
দুর্ভাগ্যক্রমে, আবর্জনা সংগ্রহকারীকে সুর দেওয়ার বিভিন্ন বিকল্পের তথ্য পাওয়া গেলেও এটি বেশিরভাগ ক্ষেত্রে একটি পরীক্ষামূলক প্রক্রিয়া এবং এই নির্দিষ্ট পরিস্থিতিগুলি কীভাবে পরিচালনা করতে হবে তা বোঝার জন্য নিম্ন স্তরের নির্দিষ্টকরণগুলি সহজেই পাওয়া যায় না বলে মনে হয়।
এর সবই বলা হচ্ছে, যদিও আমি System.gc () ব্যবহার করছি, তবুও আমি কমান্ড লাইন প্যারামিটারগুলি ব্যবহার করে সুর চালিয়ে যেতে পেরেছি এবং আমার অ্যাপ্লিকেশনটির সামগ্রিক প্রসেসিং সময়কে তুলনামূলকভাবে উল্লেখযোগ্য পরিমাণে উন্নত করতে সক্ষম হয়েছি, যদিও এটি পেরে উঠতে পারিনি হোয়াইট ব্লক ডেটা বৃহত্তর ব্লক সঙ্গে কাজ করে ভঙ্গ। বলা হচ্ছে, System.gc () একটি হাতিয়ার .... একটি খুব অবিশ্বাস্য সরঞ্জাম এবং আপনি কীভাবে এটি ব্যবহার করেন সে সম্পর্কে সতর্কতা অবলম্বন না করলে আপনি ইচ্ছুক হবেন যে এটি প্রায়শই বেশি কাজ না করে।