प्रौद्योगिकी

Java 27 ने एप्स को फ़्रीज़ करने वाले GC को हटाया और ऑब्जेक्ट मेमोरी 33% कम की

Adrian Kessler
हमें Google पर जोड़ें

Java 27 दो बदलावों के साथ आया है जो चुपचाप हर JVM तक पहुंचेंगे जो कहीं भी चल रहा है। G1 गार्बेज कलेक्टर अब हर Java रनटाइम पर डिफ़ॉल्ट है — सीमित हार्डवेयर पर स्टॉप-द-वर्ल्ड सीरियल कलेक्टर की होल्डआउट को समाप्त करते हुए — और ऑब्जेक्ट हेडर 96 बिट से घटकर 64 बिट हो गए हैं, जिससे किसी भी एप्लिकेशन के लिए ओवरहेड एक तिहाई कम हो गया है जो महत्वपूर्ण संख्या में ऑब्जेक्ट बनाता है।

सीरियल कलेक्टर Java का सबसे पुराना GC था: सरल, अनुमानित और क्रूर। जब यह चलता था, तो यह पूरे एप्लिकेशन को तब तक फ्रीज कर देता था जब तक कि हीप साफ नहीं हो जाती। बड़ी मेमोरी, मल्टी-सीपीयू सर्वरों पर, वह व्यापार-नाप तालिका वर्षों पहले अस्थिर हो गई थी — G1 ने Java 9 से शुरू होने वाले सर्वर डिफ़ॉल्ट के रूप में सीरियल को बदल दिया। सीमित वातावरण Java 26 के माध्यम से सीरियल चलाते रहे: सिंगल-सीपीयू मशीनें, छोटे क्लाउड वीएम, कम-मेमोरी एम्बेडेड सिस्टम। यह डिफ़ॉल्ट Java 27 के साथ समाप्त होता है।

G1 हीप को छोटे क्षेत्रों में विभाजित करता है और उन्हें वृद्धिशील रूप से एकत्र करता है, पहले सबसे अधिक कचरे वाले वर्गों को प्राथमिकता देता है — इसलिए गार्बेज-फर्स्ट। पॉज़ अभी भी मौजूद हैं, लेकिन वे सीरियल पूर्ण संग्रह की तुलना में छोटे और अधिक अनुमानित हैं। Oracle बताता है कि G1 अब सभी हीप आकारों पर सीरियल के साथ प्रतिस्पर्धी है। उन डेवलपर्स के लिए जो सबसे सस्ते उपलब्ध क्लाउड इंस्टेंस — एक सीपीयू, एक गीगाबाइट रैम — पर एप्लिकेशन तैनात करते हैं, Java 27 उस घर्षण को दूर करता है जिसके साथ वे वर्षों से जी रहे हैं।

कॉम्पैक्ट ऑब्जेक्ट हेडर परिवर्तन इस रिलीज़ का दूसरा भाग है। Java ऑब्जेक्ट मेटाडेटा ले जाते हैं — प्रकार की जानकारी, हैश कोड, लॉकिंग स्टेट — प्रत्येक ऑब्जेक्ट से जुड़े हेडर में संग्रहीत। पुराने प्रारूप ने 96 बिट का उपयोग किया। Java 27 इसे 64 बिट तक संपीड़ित करता है, प्रति ऑब्जेक्ट 33% की कमी। लाखों ऑब्जेक्ट बनाने वाले एप्लिकेशन के लिए — संदेश कतारें, वित्तीय खाता बही, इवेंट-संचालित माइक्रोसर्विसेज — संचयी प्रभाव मापने योग्य है: सघन हीप, बेहतर सीपीयू कैश उपयोग, कम संग्रह चक्र की आवश्यकता।

दोनों परिवर्तनों में चेतावनी है। सीरियल GC व्यवहार के लिए स्पष्ट रूप से ट्यून किए गए एप्लिकेशन अपग्रेड के बाद अप्रत्याशित समय अंतर देख सकते हैं। G1 सीरियल की तुलना में बहीखाता के लिए अधिक मेमोरी का उपयोग करता है, जो वास्तव में तंग मेमोरी बजट वाले वातावरण में मायने रखता है — हालांकि Oracle परीक्षण इंगित करता है कि अधिकांश कार्यभार के लिए थ्रूपुट व्यापार-नाप नगण्य है। सीमित प्रणालियों पर Java 27 तैनात करने वाली विकास टीमों को शिपिंग से पहले नए डिफ़ॉल्ट के खिलाफ परीक्षण करना चाहिए। संक्रमण स्वचालित है, लेकिन यह अदृश्य नहीं है।

Java 27 TLS 1.3 के लिए पोस्ट-क्वांटम हाइब्रिड कुंजी एक्सचेंज भी जोड़ता है, मौजूदा X25519 अण्डाकार-वक्र एक्सचेंज के साथ ML-KEM एल्गोरिथ्म को लागू करता है। आज बातचीत किए गए TLS कनेक्शन, सिद्धांत रूप में, भविष्य के क्वांटम कंप्यूटर द्वारा बाद में कैप्चर और डिक्रिप्ट किए जा सकते हैं। हाइब्रिड कुंजी एक्सचेंज एक हमलावर को एक साथ शास्त्रीय और पोस्ट-क्वांटम एल्गोरिथ्म दोनों को तोड़ने की आवश्यकता के द्वारा उसके खिलाफ बचाव करता है — संवेदनशील डेटा को संभालने वाली किसी भी Java सेवा के लिए एक सार्थक अतिरिक्त।

Java 27 को 15 सितंबर, 2026 को जारी किया गया था, जो प्लेटफ़ॉर्म की छह-महीने की कैडेंस के बाद है। संरचित समवर्ती और आलसी स्थिरांक इस संस्करण में पूर्वावलोकन सुविधाओं के रूप में जारी हैं। Java श्रृंखला में अगला दीर्घकालिक समर्थन रिलीज़ 2027 में अपेक्षित है।

टैग: , , , , ,

हमें Google पर जोड़ें

चर्चा

0 टिप्पणियाँ हैं।