जावा 23 आधिकारिक तौर पर जारी कर दिया गया है! यह एक गैर-एलटीएस (दीर्घकालिक समर्थन) रिलीज़ है। भले ही यह एक अल्पकालिक संस्करण है, जावा 23 रोमांचक सुधारों, बग फिक्स के साथ आता है, और उन सुविधाओं और विकल्पों को भी हटा देता है जिन पर आपको ध्यान देने की आवश्यकता हो सकती है।
आइए जानें कि नया क्या है और यह JDK 21 और JDK 22 जैसे पिछले संस्करणों की सुविधाओं पर कैसे आधारित है।
जेडीके 23 में सबसे प्रतीक्षित सुविधाओं में से एक है स्कोप्ड वैल्यूज़ (पूर्वावलोकन)। यह सुविधा, जिसका पूर्वावलोकन JDK 22 और JDK 21 दोनों में भी किया गया था, तरीकों को थ्रेड और चाइल्ड थ्रेड में अपरिवर्तनीय डेटा साझा करने के तरीके को सरल बनाती है। पिछले जावा संस्करणों में, थ्रेड-स्थानीय डेटा को संभालना बोझिल और मेमोरी-भूखा हो सकता है। स्कोप्ड मान अधिक कुशल, कम-ओवरहेड विकल्प की पेशकश करके इसे बदल देते हैं।
जेडीके 23 में क्या अलग है? ScopedValue.callwhere() विधि अब एक नए कार्यात्मक इंटरफ़ेस का उपयोग करती है, जिससे कंपाइलर के लिए यह अनुमान लगाना आसान हो जाता है कि चेक किया गया अपवाद फेंका जा सकता है या नहीं। इसके कारण ScopedValue.getWhen() विधि को भी हटा दिया गया, जिससे एपीआई को और अधिक सुव्यवस्थित किया गया।
यह उन सुधारों की निरंतरता है जो हमने पहले रिलीज़ में देखे थे, और स्कोप्ड मानों को एक स्थायी सुविधा बनने की दिशा में विकसित होते देखना रोमांचक है।
जावा का समवर्ती मॉडल हमेशा शक्तिशाली रहा है लेकिन प्रबंधन करना मुश्किल है। स्ट्रक्चर्ड कॉन्करेंसी (पूर्वावलोकन) दर्ज करें, जो पहली बार जेडीके 21 में दिखाई दिया और अब जेडीके 23 में अपने तीसरे पूर्वावलोकन पर पहुंच गया है। यहां विचार विभिन्न थ्रेड्स में चल रहे संबंधित कार्यों को समूहीकृत करके समवर्ती प्रोग्रामिंग को अधिक सहज बनाने का है। कार्य की एकल इकाई. यह त्रुटि प्रबंधन को सरल बनाता है और रद्दीकरण प्रक्रियाओं की विश्वसनीयता में सुधार करता है।
जेडीके 23 में, संरचित समवर्ती पूर्वावलोकन में रहता है, लेकिन यह समवर्ती कोड को तर्क करने में आसान और कम त्रुटि-प्रवण बनाता है। यदि आपने JDK 21 या JDK 22 में पूर्वावलोकन के साथ काम किया है, तो आप सराहना करेंगे कि यह सुविधा कैसे परिपक्व हुई है। यह अब थ्रेड लीक जैसे सामान्य समवर्ती मुद्दों से निपटने के लिए बेहतर ढंग से सुसज्जित है, जिससे विश्वसनीय मल्टीथ्रेडेड कोड लिखना आसान हो गया है।
एक और स्वागत योग्य अतिरिक्त है फ्लेक्सिबल कंस्ट्रक्टर बॉडीज (पूर्वावलोकन)। पहली बार JDK 22 में "सुपर() से पहले के कथन" के रूप में पूर्वावलोकन किया गया, यह सुविधा डेवलपर्स को सुपरक्लास कंस्ट्रक्टर को लागू करने से पहले इनिशियलाइज़ेशन कोड लिखने की अनुमति देती है। यह प्रतीत होता है कि छोटा परिवर्तन कंस्ट्रक्टर तर्क को अधिक स्पष्ट बना सकता है और सत्यापन या अन्य सेटअप तर्क विफल होने पर अनावश्यक ऑब्जेक्ट निर्माण को रोक सकता है।
जेडीके 22 में, डेवलपर्स को कंस्ट्रक्टर लॉजिक पर अधिक नियंत्रण देने के लिए यह सुविधा पेश की गई थी, और जेडीके 23 में दूसरा पूर्वावलोकन उस क्षमता को परिष्कृत करना जारी रखता है। इनिशियलाइज़ेशन लॉजिक को सुपरक्लास इनवोकेशन से आगे ले जाकर, डेवलपर्स गन्दे सहायक स्थैतिक तरीकों और मध्यवर्ती कंस्ट्रक्टरों से बच सकते हैं जो पहले कोडबेस को अव्यवस्थित करते थे।
जावा पढ़ाने या त्वरित स्क्रिप्ट लिखने वालों के लिए, स्पष्ट रूप से घोषित कक्षाएं और इंस्टेंस मेथड्स जेडीके 21 में अपनी शुरुआत के बाद से एक गेम-चेंजर रहे हैं। यह सुविधा शुरुआती लोगों को समझने की आवश्यकता के बिना सरलीकृत जावा प्रोग्राम लिखने की अनुमति देती है। शुरू से ही जटिल भाषा सुविधाएँ।
जेडीके 23 में, इस सुविधा को कुछ अतिरिक्त अपग्रेड मिलते हैं। अब, अंतर्निहित रूप से घोषित कक्षाएं सरल पाठ I/O के लिए स्वचालित रूप से तीन स्थिर तरीकों को आयात कर सकती हैं, और वे मांग पर java.base मॉड्यूल के सभी सार्वजनिक शीर्ष-स्तरीय वर्गों और इंटरफेस को भी आयात करेंगे। ये संवर्द्धन नवागंतुकों के लिए सीखने की प्रक्रिया को और भी आसान बनाने में मदद करते हैं।
जेडीके 23 में ताजा पूर्वावलोकन सुविधाओं में से एक मॉड्यूल आयात घोषणाएं है। यह सुविधा आपको मॉड्यूल द्वारा निर्यात किए गए सभी पैकेजों को एक ही स्टेटमेंट के साथ आयात करने की अनुमति देती है, जिससे मॉड्यूलर लाइब्रेरी का पुन: उपयोग सरल हो जाता है। यह उन शुरुआती लोगों के लिए विशेष रूप से उपयोगी है जिन्हें अब यह याद रखने की आवश्यकता नहीं है कि पैकेज पदानुक्रम में कहाँ स्थित हैं, और यह कई प्रकार-आयात-ऑन-डिमांड घोषणाओं के कारण होने वाली अव्यवस्था को कम करता है।
हालांकि यह जेडीके 23 में एक बिल्कुल नई सुविधा है, यह जावा के मॉड्यूल सिस्टम को और अधिक सुलभ बनाने में महान वादा दिखाता है, खासकर उन लोगों के लिए जो मॉड्यूलर प्रोग्रामिंग में नए हैं।
आइए ईमानदार रहें- HTML और @ टैग के साथ JavaDoc लिखना दर्दनाक हो सकता है। जेडीके 23 में, मार्कडाउन डॉक्यूमेंटेशन टिप्पणियाँ (पूर्वावलोकन) सुविधा डेवलपर्स को मार्कडाउन का उपयोग करके एपीआई दस्तावेज़ लिखने की अनुमति देती है, जिससे पठनीय, अच्छी तरह से प्रारूपित टिप्पणियाँ बनाना आसान हो जाता है।
हालाँकि यह JDK 23 में एक नई सुविधा है, यह कुछ ऐसा है जिसे वर्षों पहले जोड़ा जाना चाहिए था। डेवलपर समुदायों में मार्कडाउन का व्यापक रूप से उपयोग किया जाता है, और इसे JavaDoc में लाने से दस्तावेज़ लिखना और बनाए रखना बहुत आसान हो जाएगा।
यदि आप जेडीके 15 में इसकी शुरूआत के बाद से जेड गारबेज कलेक्टर (जेडजीसी) के साथ काम कर रहे हैं, तो आप यह जानकर उत्साहित होंगे कि जेडीके 23 में, जेडजीसी अब डिफ़ॉल्ट रूप से जेनरेशनल है। मोड (जेईपी 474)। यह स्विच अल्पकालिक वस्तुओं के लगातार संग्रह पर ध्यान केंद्रित करके एप्लिकेशन प्रदर्शन में सुधार करता है। हालाँकि इस रिलीज़ में गैर-पीढ़ीगत ZGC को हटा दिया गया है, यह एक स्पष्ट संकेत है कि पीढ़ीगत दृष्टिकोण ही जावा में कचरा संग्रहण का भविष्य है।
यदि आप JDK 22 या इससे पहले के संस्करण पर चल रहे हैं, तो JDK 23 पर जाने से आपकी ओर से बहुत अधिक प्रयास किए बिना उल्लेखनीय प्रदर्शन सुधार आना चाहिए।
जेडीके 16 में पेश किया गया वेक्टर एपीआई, डेवलपर्स को वेक्टर गणना करने की अनुमति देता है जो रनटाइम पर इष्टतम वेक्टर निर्देशों को संकलित करता है। एपीआई का विकास जारी है, और जेडीके 23 में, हम आठवां इनक्यूबेटर देख रहे हैं। यह एपीआई अभी भी विकसित हो रही है, जिसका अर्थ है कि यह अभी तक अंतिम रूप नहीं दिया गया है, लेकिन यह परिपक्वता के करीब पहुंच रहा है।
प्रदर्शन-महत्वपूर्ण अनुप्रयोगों के लिए, विशेष रूप से बड़े डेटासेट से निपटने वाले अनुप्रयोगों के लिए, वेक्टर एपीआई बड़े पैमाने पर स्पीडअप प्रदान कर सकता है। यदि आपने इसके साथ पिछले इन्क्यूबेशन (जैसे जेडीके 22) में काम किया है, तो आप पाएंगे कि यह अब और भी अधिक स्थिर है, लेकिन यह अभी भी अंतिम टुकड़ों के सही जगह पर आने का इंतजार कर रहा है (संभवतः प्रोजेक्ट वल्लाह से जुड़ा हुआ है)।
जेडीके 22 ने स्ट्रीम गैदरर्स (पूर्वावलोकन) पेश किया, एक सुविधा जो कस्टम मध्यवर्ती संचालन की अनुमति देकर स्ट्रीम एपीआई में लचीलापन जोड़ती है। JDK 23 में, यह दूसरे पूर्वावलोकन के लिए वापस आ गया है। यदि आप डेटा को संसाधित करने के लिए स्ट्रीम का उपयोग करना पसंद करते हैं, तो आप डेटा पाइपलाइनों को उन तरीकों से बदलने की इस सुविधा की क्षमता की सराहना करेंगे जिन्हें पहले हासिल करना मुश्किल था।
स्ट्रीम संग्रहकर्ता स्ट्रीम की शक्ति का विस्तार करते हैं, जिससे डेवलपर्स अधिक जटिल परिदृश्यों को आसानी से संभाल सकते हैं, खासकर जब अनंत स्ट्रीम या कस्टम परिवर्तनों के साथ काम करते हैं।
यदि आप ऐसे उपकरण बना रहे हैं जो जावा क्लास फ़ाइलों में हेरफेर करते हैं, तो JDK 23 में क्लास-फ़ाइल एपीआई (पूर्वावलोकन) आपके लिए है। पहली बार जेडीके 22 में पेश किया गया, यह एपीआई एएसएम जैसे तीसरे पक्ष के पुस्तकालयों की आवश्यकता के बिना क्लास फ़ाइलों को पार्स करने और उत्पन्न करने का एक मानक तरीका प्रदान करता है। जेडीके 23 में दूसरा पूर्वावलोकन इस एपीआई को परिष्कृत करता है, जिससे इसे अधिक सुव्यवस्थित और इसके साथ काम करना आसान हो जाता है।
टूल डेवलपर्स के लिए, यह एक बड़ी बात है। हर बार जेवीएम विनिर्देश में परिवर्तन होने पर लाइब्रेरी को अपडेट करने के लिए अब कोई परेशानी नहीं होगी—जावा के पास अब एक प्रथम-पक्ष समाधान है।
जावा 23 एलटीएस रिलीज नहीं हो सकता है, लेकिन यह रोमांचक सुविधाओं से भरा हुआ है जो जेडीके 21 और जेडीके 22 द्वारा पेश किए गए पर आधारित है। स्कोप्ड मानों और संरचित संगामिति से लेकर बेहतर कचरा संग्राहक और स्ट्रीम और कंस्ट्रक्टर में सुधार तक, यह रिलीज़ जावा विकास को आगे बढ़ाती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3