جاوا SE 18 رليز

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

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

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

  • ڊفالٽ طور، انڪوڊنگ UTF-8 آهي. جاوا APIs جيڪي پروسيسنگ ٽيڪسٽ ڊيٽا جي بنياد تي ڪردار انڪوڊنگ جي بنياد تي ھاڻي UTF-8 استعمال ڪندا سڀني پليٽ فارمن تي ڊفالٽ طور، سسٽم سيٽنگون ۽ لوڪل سيٽنگن کان سواء. پراڻي رويي ڏانهن موٽڻ لاءِ، جتي انڪوڊنگ کي سسٽم لوڪل جي بنياد تي چونڊيو ويو آهي، توهان "-Dfile.encoding=COMPAT" اختيار استعمال ڪري سگهو ٿا.
  • پيڪيج ۾ com.sun.net.httpserver پيڪيج شامل آهي، جنهن ۾ jwebserver يوٽيلٽي ۽ لائبريري API شامل آهي سادو http سرور جي لاڳو ڪرڻ سان گڏ جامد مواد جي خدمت لاءِ (CGI ۽ servlet-like handlers معاون نه آهن). بلٽ ان HTTP سرور ڪم لوڊ لاءِ بهتر نه ڪيو ويو آهي ۽ رسائي ڪنٽرول ۽ تصديق کي سپورٽ نٿو ڏئي، ڇاڪاڻ ته اهو بنيادي طور تي پروٽوٽائپنگ، ڊيبگنگ ۽ ٽيسٽنگ منصوبن لاءِ ترقي جي عمل ۾ استعمال ڪرڻ جو مقصد آهي.
  • JavaDoc "@snippet" ٽيگ لاءِ سپورٽ مهيا ڪري ٿو ڪم ڪندڙ مثالن ۽ ڪوڊ اسنيپيٽس کي API دستاويزن ۾ شامل ڪرڻ لاءِ، جتي توهان استعمال ڪري سگهو ٿا تصديق جا اوزار، نحو نمايان ڪرڻ، ۽ IDE انٽيگريشن.
  • java.lang.reflect API (Core Reflection) جو نفاذ، طريقن، شعبن ۽ ڪلاس جي تعمير ڪندڙن بابت معلومات حاصل ڪرڻ لاءِ ٺهيل آهي، انهي سان گڏ ڪلاسن جي اندروني ڍانچي تائين پهچ، نئين سر ترتيب ڏني وئي آهي. java.lang.reflect API بذات خود بدليل رهي ٿو، پر هاڻي لاڳو ڪيو ويو آهي ميٿڊ هينڊلز استعمال ڪري مهيا ڪيل جاوا.lang.invoke ماڊل، بجاءِ bytecode جنريٽر استعمال ڪرڻ جي. تبديلي اسان کي java.lang.reflect ۽ java.lang.invoke جي عملن کي متحد ڪرڻ جي اجازت ڏني، ۽ انهن جي سار سنڀال کي آسان بڻائي.
  • ویکٹر API جو ٽيون پريويو پيش ڪيو ويو آهي، ویکٹر جي حسابن لاءِ ڪم مهيا ڪري ٿو جيڪي x86_64 ۽ AArch64 پروسيسرز تي ویکٹر هدايتون استعمال ڪندي عمل ڪيا وڃن ٿا ۽ عملن کي هڪ ئي وقت ڪيترن ئي قدرن (SIMD) تي لاڳو ڪرڻ جي اجازت ڏين ٿا. HotSpot JIT ڪمپلر ۾ مهيا ڪيل صلاحيتن جي برعڪس اسڪيلر آپريشنز جي آٽو ویکٹرائيزيشن لاءِ، نئون API ان کي ممڪن بڻائي ٿو واضح طور تي ویکٹرائيزيشن کي ڪنٽرول ڪرڻ لاءِ متوازي ڊيٽا پروسيسنگ لاءِ.
  • شامل ڪيو ويو SPI انٽرفيس (سروس فراهم ڪندڙ انٽرفيس) ميزبان جا نالا ۽ IP پتي کي حل ڪرڻ لاءِ، توهان کي اجازت ڏئي ٿو ته متبادل حل ڪندڙ استعمال ڪرڻ لاءِ java.net.InetAddress جيڪي آپريٽنگ سسٽم پاران پيش ڪيل هينڊلر سان جڙيل نه آهن.
  • فارين فنڪشن ۽ ميموري API جو هڪ ٻيو ڏيک مهيا ڪيو ويو آهي، ايپليڪيشنن کي جاوا رن ٽائم کان ٻاهر ڪوڊ ۽ ڊيٽا سان رابطو ڪرڻ جي اجازت ڏئي ٿي. نئون API توهان کي غير JVM افعال کي موثر طريقي سان ڪال ڪرڻ ۽ غير JVM-منظم ميموري تائين رسائي جي اجازت ڏئي ٿو. مثال طور، توھان ڪال ڪري سگھو ٿا ڪم ڪارن کي ٻاهرين شيئر ڪيل لائبريرين مان ۽ رسائي جي ڊيٽا تائين رسائي بغير JNI استعمال ڪرڻ جي.
  • "سوئچ" اظهار ۾ نموني جي ميلاپ جو هڪ ٻيو تجرباتي عمل شامل ڪيو ويو آهي، لچڪدار نمونن جي استعمال جي اجازت ڏئي ٿي "ڪيس" ليبل ۾ درست قدرن جي بدران، هڪ ئي وقت ۾ قدرن جي هڪ سيريز کي ڍڪيندي، جنهن لاءِ اڳ ۾ استعمال ڪرڻ ضروري هو. ”جيڪڏهن...ٻيو“ اظهار جي مشڪل زنجير. اعتراض o = 123L؛ اسٽرنگ فارميٽ = سوئچ (o) { ڪيس انٽيجر 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()؛ }؛
  • فائنلائيزيشن ميڪانيزم ۽ ان سان لاڳاپيل طريقا جهڙوڪ Object.finalize(), Enum.finalize(), Runtime.runFinalization() ۽ System.runFinalization() کي ختم ڪيو ويو آهي ۽ مستقبل جي رليز ۾ بند ڪيو ويندو.
  • ZGC (Z گاربيج ڪليڪٽر)، SerialGC، ۽ ParallelGC گاربيج ڪليڪٽر قطار جي نقل کي سپورٽ ڪن ٿا.

جو ذريعو: opennet.ru

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