جاوا SE 20 رليز

ڇهن مهينن جي ترقي کان پوءِ، Oracle جاري ڪيو Java SE 20 (Java Platform, Standard Edition 20) پليٽ فارم، جيڪو OpenJDK اوپن سورس پروجيڪٽ کي ريفرنس تي عمل درآمد طور استعمال ڪري ٿو. ڪجھ فرسوده خصوصيتن کي ختم ڪرڻ جي استثنا سان، جاوا SE 20 جاوا پليٽ فارم جي پوئين رليز سان پسمانده مطابقت برقرار رکي ٿو- سڀ کان پهريان لکيل جاوا پروجيڪٽ اڃا به ڪم ڪندا بغير ترميم جي جڏهن نئين ورزن تحت هلندا. جاوا SE 20 (JDK، JRE، ۽ Server JRE) جون تيار ڪرڻ لاءِ تيار ڪيل عمارتون لينڪس (x86_64، AArch64)، ونڊوز (x86_64)، ۽ macOS (x86_64، AArch64) لاءِ تيار ڪيون ويون آهن. OpenJDK پروجيڪٽ پاران ترقي ڪئي وئي، جاوا 20 ريفرنس تي عمل درآمد مڪمل طور تي کليل آهي GPLv2 لائسنس جي تحت GNU ClassPath استثنات سان تجارتي پراڊڪٽس کي متحرڪ لنڪنگ جي اجازت ڏيڻ لاءِ.

جاوا SE 20 کي درجه بندي ڪيو ويو آهي باقاعده سپورٽ رليز، تازه ڪاري سان گڏ ايندڙ رليز کان اڳ جاري ڪيو وڃي. ڊگھي مدت جي سپورٽ (LTS) برانچ جاوا SE 17 هجڻ گهرجي، جيڪا 2029 تائين اپڊيٽ حاصل ڪندي. ياد رهي ته جاوا 10 جي ڇڏڻ سان شروع ٿيندڙ، پروجيڪٽ هڪ نئين ترقياتي عمل ڏانهن تبديل ڪيو، جيڪو نئين رليز جي ٺهڻ لاء هڪ ننڍڙو چڪر جو مطلب آهي. نئين ڪارڪردگي ھاڻي ھڪڙي مسلسل اپڊيٽ ٿيل ماسٽر برانچ ۾ ترقي ڪئي پئي وڃي، جيڪا اڳ ۾ ئي مڪمل ٿيل تبديلين کي شامل ڪري ٿي ۽ جنھن مان شاخن کي نئين رليز کي مستحڪم ڪرڻ لاء ھر ڇھن مھينن ۾ برانچ ڪيو ويندو آھي.

جاوا 20 ۾ نيون خاصيتون شامل آهن:

  • Scoped Values ​​لاءِ ابتدائي سپورٽ تجويز ڪئي وئي آھي، جيڪا ٿريڊز ۾ ناقابل مٽائي ڊيٽا شيئر ڪرڻ جي اجازت ڏئي ٿي ۽ چائلڊ ٿريڊز جي وچ ۾ ڊيٽا کي موثر انداز ۾ مٽائڻ جي اجازت ڏئي ٿي (قدر وراثت ۾ مليا آھن). ٿريڊ-لوڪل متغير ميڪانيزم کي تبديل ڪرڻ لاءِ اسڪوپڊ ويلز ڊولپ ڪيا پيا وڃن ۽ تمام وڏي تعداد ۾ ورچوئل ٿريڊز (هزارين ۽ لکين ٿريڊز) استعمال ڪرڻ وقت وڌيڪ ڪارآمد هوندا آهن. Scoped Values ​​۽ variables جي وچ ۾ بنيادي فرق هڪ سلسلي ۾ مقامي آهي ته پهريون هڪ ڀيرو لکيو ويو آهي، بعد ۾ تبديل نه ٿو ڪري سگهجي، ۽ صرف ٿريڊ جي عمل جي مدت تائين موجود رهي ٿو. ڪلاس سرور {فائنل جامد اسڪوپڊ ويليو CURRENT_USER = نئون اسڪوپڊ ويلو ()؛ void خدمت (درخواست جي درخواست، جوابي جواب) { var سطح = (درخواست. isAuthorized()؟ منتظم: GUEST)؛ var استعمال ڪندڙ = نئون استعمال ڪندڙ (سطح)؛ ScopedValue.where(CURRENT_USER, user) .run() -> Application.handle(درخواست، جواب)؛ } } ڪلاس ڊيٽابيس مئنيجر { DBConnection open() { var user = Server.CURRENT_USER.get(); جيڪڏهن (!user.canOpen()) نئون InvalidUserException() اڇلايو؛ نئين ڊي بي ڪنيڪشن واپسي (…)؛ } }
  • رڪارڊ جي نمونن جو هڪ ٻيو عارضي عمل شامل ڪيو ويو آهي، جاوا 16 پيٽرن جي ميلاپ جي صلاحيت کي وڌايو ويو آهي قسم جي رڪارڊ جي طبقن جي قدرن کي پارس ڪرڻ لاءِ. مثال طور: رڪارڊ پوائنٽ (int x، int y) {} static void printSum(Object obj) { if (obj instance of Point p) { int x = px(); int y = py(); System.out.println(x+y)؛ } }
  • سوئچ ايڪسپريشنز ۾ نمونن جي ميلاپ جو چوٿون ابتدائي عمل شامل ڪيو ويو آھي، جيڪو ڪيس ليبلز ۾ لچڪدار ٽيمپليٽ استعمال ڪرڻ جي اجازت ڏئي ٿو جيڪي ھڪ ئي وقت ۾ قدرن جي ھڪڙي سيريز کي ڍڪيندا آھن، جنھن لاءِ if...else بيانن جا بوجھل زنجير اڳ ۾ استعمال ڪيا ويا ھئا. جامد اسٽرنگ فارميٽ پيٽرن سوئچ (آبجڪٽ اعتراض) { واپسي سوئچ (آبج) { ڪيس انٽيجر i -> String. format("int %d"، i)؛ ڪيس ڊگهو l -> String.format("long %d", l)؛ ڪيس Double d -> String.format("double %f", d); ڪيس اسٽرنگ s -> String.format("String %s", s); ڊفالٽ -> o.toString()؛ }؛ }
  • FFM (فارين فنڪشن ۽ ميموري) API جو هڪ ٻيو ابتدائي عمل شامل ڪيو ويو آهي، جيڪو توهان کي اجازت ڏئي ٿو جاوا پروگرامن جي رابطي کي منظم ڪرڻ جي ذريعي خارجي ڪوڊ ۽ ڊيٽا سان گڏ ٻاهرين لائبريرين مان ڪالنگ افعال ذريعي ۽ JVM کان ٻاهر ميموري تائين رسائي.
  • ورچوئل موضوعن جو هڪ ٻيو ابتدائي عمل شامل ڪيو ويو آهي، جيڪي ٿلهي وزن وارا موضوع آهن جيڪي لکڻ کي تمام آسان ڪن ٿا ۽ اعليٰ ڪارڪردگي واري ملٽي ٿريڊ ٿيل ايپليڪيشنن کي برقرار رکندا آهن.
  • تجرباتي Structured Parallelism API جو هڪ ٻيو قسم شامل ڪيو ويو آهي ته جيئن مختلف موضوعن تي هلندڙ ڪيترن ئي ڪمن کي هڪ واحد يونٽ جي حيثيت سان ملائي ٿريڊ ٿيل ايپليڪيشنن جي ترقي کي آسان بڻائي سگهجي.
  • Vector API جو پنجون ابتدائي عمل شامل ڪيو ويو آھي، ویکٹر جي حسابن لاءِ ڪم مهيا ڪري ٿو جيڪي x86_64 ۽ AArch64 پروسيسرز تي ویکٹر جي ھدايتن کي استعمال ڪندي ۽ توھان کي ھڪ ئي وقت ۾ ڪيترن ئي قدرن تي عمل لاڳو ڪرڻ جي اجازت ڏين ٿا (SIMD). HotSpot JIT ڪمپيلر ۾ مهيا ڪيل صلاحيتن جي برعڪس اسڪيلر آپريشنز جي آٽو ويڪرائيزيشن لاءِ، نئون API ان کي ممڪن بڻائي ٿو واضح طور تي متوازي ڊيٽا پروسيسنگ لاءِ ویکٹرائيزيشن کي ڪنٽرول ڪرڻ.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو