जावा एप्लिकेशन के प्रदर्शन को बढ़ाने के प्रयास में, जावा समुदाय के भीतर एक नया प्रस्ताव Z Garbage Collector (ZGC) विस्तार करना चाहता है, जिससे यह युवा और पुरानी वस्तुओं के लिए अलग-अलग पीढ़ियों को बनाए रखने में सक्षम हो। जावा डेवलपर्स के अनुसार, यह ZGC युवा वस्तुओं को अधिक बार एकत्र करने की अनुमति देगा, क्योंकि युवा वस्तुओं में युवा वस्तुओं के मरने की संभावना अधिक होती है।
जनरेशनल ZGC के लिए OpenJDK Java Enhancement Proposal (JEP) के प्राथमिक उद्देश्यों में आवंटन स्टाल जोखिम, हीप मेमोरी ओवरहेड और कचरा संग्रह (GC) CPU ओवरहेड को कम करना शामिल है। प्रस्ताव के समर्थकों का मानना है कि गैर-पीढ़ीगत ZGC की तुलना में थ्रूपुट में महत्वपूर्ण कमी के बिना इन लाभों को प्राप्त किया जा सकता है।
Z Garbage Collector, जिसे स्केलेबिलिटी और कम विलंबता के लिए डिज़ाइन किया गया था, सितंबर 2020 में Java Development Kit (JDK) 15 के बाद से उत्पादन रिलीज़ में उपलब्ध है। डिफ़ॉल्ट G1 कलेक्टर के विपरीत, जिसमें पॉज़ समय है जो मिलीसेकंड से लेकर हो सकता है सेकंड के लिए, ZGC ठहराव समय लगातार माइक्रोसेकंड में मापा जाता है। नतीजतन, ZGC कई कार्यभार के लिए कचरा संग्रहण से संबंधित विलंबता के मुद्दों को प्रभावी ढंग से हल कर सकता है।
पर्याप्त संसाधन उपलब्ध होने पर ZGC अच्छा प्रदर्शन करता है। हालाँकि, जैसा कि यह सभी वस्तुओं को उनकी उम्र की परवाह किए बिना एक साथ संग्रहीत करता है, ZGC हर बार संचालित होने पर सभी वस्तुओं को इकट्ठा करने की आवश्यकता होती है। कमजोर पीढ़ीगत परिकल्पना का दावा है कि युवा वस्तुएं कम उम्र में मर जाती हैं, जबकि पुरानी वस्तुओं के बने रहने की संभावना है। नतीजतन, युवा वस्तुओं को इकट्ठा करने के लिए कम संसाधनों की आवश्यकता होती है और अधिक मेमोरी जारी होती है, जबकि पुरानी वस्तुओं को इकट्ठा करने से अधिक संसाधनों की खपत होती है और कम मेमोरी मुक्त होती है।
पीढ़ीगत ZGC प्रस्ताव को अभी तक एक विशिष्ट मानक जावा संस्करण को नहीं सौंपा गया है। वर्तमान रिलीज़, JDK 20 एक सप्ताह पहले पेश किया गया था, JDK 21 सितंबर में लॉन्च किया जाना था। मानक जावा छह महीने की रिलीज़ ताल पर काम करता है।
जैसा कि जनरेशनल ZGC प्रस्ताव पर चर्चा की जा रही है, ऐपमास्टर .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster जैसे no-code प्लेटफॉर्म डेवलपर्स को बैकएंड बनाने में मदद कर सकते हैं। , वेब और मोबाइल एप्लिकेशन जल्दी और कुशलता से। AppMaster एप्लिकेशन उत्कृष्ट मापनीयता और कम विलंबता प्रदर्शित कर सकते हैं, जिससे वे उद्यम अनुप्रयोगों और उच्च-लोड परिदृश्यों के लिए उपयुक्त हो जाते हैं। AppMaster की क्षमताओं को और अधिक एक्सप्लोर करने के लिए, appmaster .io" data-mce-href="https: //studio. appmaster.io">एक निःशुल्क खाता बनाएं और इसके सशक्त no-code टूल का लाभ उठाएं।