गार्बेज कलेक्शन या सरल GC Java में मेमोरी मैनेजमेंट का मुख्य भाग है। यह मेमोरी से मृत ऑब्जेक्ट को साफ करने और उस स्थान को पुनः प्राप्त करने के लिए जिम्मेदार है। GC पूर्वनिर्धारित गार्बेज कलेक्टर्स का उपयोग करके सफाई निष्पादित करता है जो कुछ एल्गोरिदम का उपयोग करते हैं।
कुछ महत्वपूर्ण प्रकार के गार्बेज कलेक्टर नीचे सूचीबद्ध हैं
- सीरियल GC: एक सिंगल थ्रेड कलेक्टर और छोटे एप्लिकेशन के लिए लागू होता है जिनमें डेटा उपयोग कम होता है। इसे कमांड-लाइन विकल्प निर्दिष्ट करके सक्षम किया जा सकता है: -XX:+UseSerialGC।
- पैरेलल GC: पैरेलल GC गार्बेज कलेक्शन प्रक्रिया को करने के लिए कई थ्रेड्स का उपयोग करता है, और इसे थ्रूपुट कलेक्टर के रूप में भी जाना जाता है। इसे विकल्प निर्दिष्ट करके स्पष्ट रूप से सक्षम किया जा सकता है: -XX:+UseParallelGC।
- G1 गार्बेज फर्स्ट: G1 (गार्बेज फर्स्ट) Java 9 में डिफ़ॉल्ट गार्बेज कलेक्टर है। यह मल्टी-प्रोसेसर मशीनों पर चलने वाले एप्लिकेशन के लिए डिज़ाइन किया गया है जिनमें बड़ी मेमोरी स्पेस होती है। इसे विकल्प के साथ सक्षम किया जा सकता है: -XX:+UseG1GC।
- कनकरेंट मार्क स्वीप: एप्लिकेशन पॉज़ समय को न्यूनतम रखा जाता है। इसे विकल्प का उपयोग करके किया जा सकता है: -XX:+UseConcMarkSweepGC। Java 9 के अनुसार, इस GC प्रकार को डिप्रिकेटेड किया गया है।