جاوا SE 16 رليز

ڇهن مهينن جي ترقيءَ کان پوءِ، Oracle جاري ڪيو Java SE 16 (جاوا پليٽ فارم، معياري ايڊيشن 16)، جيڪو OpenJDK پروجيڪٽ کي ريفرنس جي عمل درآمد طور استعمال ڪري ٿو. Java SE 16 جاوا پليٽ فارم جي پوئين رليز سان پسمانده مطابقت برقرار رکي ٿي؛ سڀ اڳ ۾ لکيل جاوا پروجيڪٽ بغير تبديلين جي ڪم ڪندا جڏهن نئين ورزن تحت شروع ڪيو ويندو. جاوا SE 16 (JDK، JRE ۽ Server JRE) جي انسٽال ڪرڻ لاءِ تيار ڪيل عمارتون لينڪس (x86_64، AArch64)، ونڊوز ۽ macOS لاءِ تيار ڪيون ويون آهن. OpenJDK پروجيڪٽ پاران تيار ڪيل، جاوا 16 ريفرنس تي عمل درآمد مڪمل طور تي کليل ذريعو آهي GPLv2 لائسنس جي تحت، GNU ClassPath استثنا سان، تجارتي پروڊڪٽس سان متحرڪ ڳنڍڻ جي اجازت ڏئي ٿي.

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

نئين رليز جي تياري ۾، ترقي Mercurial ورزن ڪنٽرول سسٽم کان Git ۽ GitHub تعاون واري ترقياتي پليٽ فارم ڏانهن منتقل ٿي وئي آهي. لڏپلاڻ جي توقع ڪئي وئي آهي ته مخزن جي عملن جي ڪارڪردگي کي بهتر بڻائي، اسٽوريج جي ڪارڪردگي کي وڌايو، پروجيڪٽ جي تاريخ ۾ تبديلين تائين رسائي فراهم ڪرڻ، ڪوڊ جي نظرثاني لاءِ سپورٽ کي بهتر بڻائڻ، ۽ APIs کي ڪم جي فلوز کي خودڪار ڪرڻ لاءِ فعال ڪرڻ. ان کان علاوه، Git ۽ GitHub جو استعمال پروجيڪٽ کي وڌيڪ پرڪشش بڻائي ٿو شروعات ڪندڙن ۽ ڊولپرز لاءِ Git جي عادي.

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

  • شامل ڪيو ويو تجرباتي ماڊل jdk.incubator.vector سان ویکٹر API جي نفاذ سان، جيڪو ویکٹر جي حسابن لاءِ ڪم مهيا ڪري ٿو جيڪي x86_64 ۽ AArch64 پروسيسرز تي ویکٹر هدايتون استعمال ڪندي سرانجام ڏين ٿا ۽ عملن کي هڪ ئي وقت ڪيترن ئي قدرن (SIMD) تي لاڳو ڪرڻ جي اجازت ڏين ٿا. HotSpot JIT ڪمپيلر ۾ مهيا ڪيل صلاحيتن جي برعڪس اسڪيلر آپريشنز جي آٽو ویکٹرائيزيشن لاءِ، نئون API توهان کي اجازت ڏئي ٿو واضح طور تي ویکٹرائيزيشن کي ڪنٽرول ڪرڻ لاءِ متوازي ڊيٽا پروسيسنگ لاءِ.
  • C++ ۾ لکيل JDK ۽ VM HotSpot ڪوڊ کي C++ 14 وضاحتن ۾ متعارف ڪيل خاصيتون استعمال ڪرڻ جي اجازت آهي. اڳي، C++ 98/03 معيار جي اجازت ڏني وئي هئي.
  • ZGC (Z گاربيج ڪليڪٽر)، جيڪو غير فعال موڊ ۾ ڪم ڪري ٿو ۽ جيترو ممڪن ٿي سگهي ڪچرو گڏ ڪرڻ جي ڪري دير کي گھٽائي ٿو، ايپليڪيشن جي سلسلي کي روڪڻ کان سواءِ متوازي ۾ ٿريڊ اسٽيڪ کي پروسيس ڪرڻ جي صلاحيت شامل ڪئي آهي. ZGC وٽ هاڻي صرف ڪم آهي جنهن کي معطل ڪرڻ جي ضرورت آهي، جنهن ۾ مسلسل دير هوندي آهي، عام طور تي چند سو مائڪرو سيڪنڊن کان وڌيڪ نه هوندي.
  • شامل ڪيل سپورٽ يونڪس ساکٽس (AF_UNIX) لاءِ SocketChannel، ServerSocketChannel ۽ java.nio.channels طبقن لاءِ.
  • لينڪس ڊسٽريبيوشن الپائن لاءِ هڪ پورٽ لاڳو ڪيو ويو آهي معياري سي لائبريري مسل سان، جيڪو ڪنٽينرز، مائڪرو سروسز، ڪلائوڊ ۽ ايمبيڊڊ سسٽم لاءِ ماحول ۾ مشهور آهي. تجويز ڪيل بندرگاهه اهڙي ماحول ۾ توهان کي جاوا پروگرام هلائڻ جي اجازت ڏئي ٿي جهڙوڪ باقاعده ايپليڪيشنون. اضافي طور تي، jlink استعمال ڪندي، توهان سڀني غير استعمال ٿيل ماڊلز کي هٽائي سگهو ٿا ۽ ايپليڪيشن کي هلائڻ لاء ڪافي ماحول پيدا ڪري سگهو ٿا، جيڪو توهان کي ايپليڪيشن مخصوص ڪمپيڪٽ تصويرون ٺاهڻ جي اجازت ڏئي ٿو.
  • لچڪدار ميٽاسپيس ميڪانيزم لاڳو ڪيو ويو آهي، JVM HotSpot ۾ ڪلاس ميٽاداٽا (ميٽا اسپيس) پاران قبضو ڪيل ميموري کي مختص ڪرڻ ۽ واپس ڪرڻ جي عملن کي بهتر ڪرڻ. لچڪدار ميٽا اسپيس جو استعمال ميموري فريگمينٽيشن کي گھٽائي ٿو، ڪلاس لوڊر اوور هيڊ کي گھٽائي ٿو، ۽ آپريٽنگ سسٽم تي غير استعمال ٿيل ڪلاس ميٽاداٽا پاران قبضو ڪيل ميموري جي تيز موٽڻ جي ڪري ڊگھي هلندڙ سرور ايپليڪيشنن جي ڪارڪردگي تي پڻ فائدي وارو اثر آهي. ڪلاسز کي لوڊ ڪرڻ کان پوءِ ميموري رليز موڊ کي چونڊڻ لاءِ، اختيار ”-XX:MetaspaceReclaimPolicy=(balanced|aggressive|none)“ پيش ڪيو ويو آهي.
  • AArch64 آرڪيٽيڪچر جي بنياد تي پروسيسرز سان هارڊويئر تي هلندڙ ونڊوز سسٽم لاءِ JDK پورٽ شامل ڪيو ويو آهي.
  • فارين-ميموري رسائي API جو ٽيون پريويو تجويز ڪيو ويو آهي، جاوا ايپليڪيشنن کي اجازت ڏئي ٿي محفوظ ۽ موثر طريقي سان جاوا هيپ کان ٻاهر ميموري وارن علائقن تائين رسائي جي نئين MemorySegment، MemoryAddress، ۽ MemoryLayout خلاصن کي هٿي وٺرائڻ سان.
  • هڪ تجرباتي پرڏيهي Linker API لاڳو ڪيو ويو آهي، جاوا کان اصلي ڪوڊ تائين رسائي فراهم ڪندي. فارين-ميموري API سان گڏ، نئون پروگرامنگ انٽرفيس روايتي شيئر ڪيل لائبريرين تي ريپرز ٺاهڻ کي تمام آسان بڻائي ٿو.
  • شامل ڪيو ويو jpackage يوٽيليٽي، جيڪا توهان کي اجازت ڏئي ٿي پيڪيجز ٺاهڻ لاءِ پاڻ ۾ شامل جاوا ايپليڪيشنون. يوٽيلٽي JavaFX کان javapackager تي مبني آهي ۽ توهان کي مختلف پليٽ فارمن (MSI ۽ exe Windows لاءِ، pkg ۽ dmg لاءِ macOS، deb ۽ rpm لاءِ Linux، deb ۽ rpm) جي فارميٽ ۾ پيڪيجز ٺاهڻ جي اجازت ڏئي ٿي. پيڪيجز ۾ سڀ گهربل انحصار شامل آهن.
  • سڀني JDK اندرونين جي سخت انڪپسوليشن کي ڊفالٽ طور تي فعال ڪيو ويو آهي، نازڪ API جي استثنا سان، جهڙوڪ sun.misc.Unsafe. "--illegal-access" اختيار جي قيمت ھاڻي مقرر ڪئي وئي آھي "انڪار" جي بدران "پرمٽ" جي بدران، جيڪو ڪوڊ جي ڪوششن کي بلاڪ ڪندو اڪثر اندروني طبقن، طريقن ۽ شعبن تائين رسائي حاصل ڪرڻ لاء. پابنديءَ کي پاس ڪرڻ لاءِ، ”-غير قانوني-رسائي = اجازت“ اختيار استعمال ڪريو.
  • "instanceof" آپريٽر ۾ نموني جي ميلاپ جي عمل کي مستحڪم ڪيو ويو آهي، جيڪو توهان کي فوري طور تي مقامي متغير جي وضاحت ڪرڻ جي اجازت ڏئي ٿو چيڪ ڪيل قيمت ڏانهن اشارو ڪرڻ لاء. مثال طور، توهان فوري طور تي لکي سگهو ٿا "if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" بغير واضح طور تي "String s = (String) obj" جي وضاحت ڪرڻ جي. هو: جيڪڏهن (گروپ جو اعتراض مثال) { گروپ گروپ = (گروپ) اعتراض؛ var entries = group.getEntries(); } ھاڻي توھان بغير وضاحت ڪري سگھو ٿا "گروپ گروپ = (گروپ) اعتراض": جيڪڏھن (گروپ گروپ جو اعتراض مثال) { var entries = group.getEntries(); }
  • "ريڪارڊ" لفظ جي نفاذ کي مستحڪم ڪيو ويو آهي، طبقاتي وصفن لاءِ هڪ جامع فارم مهيا ڪري ٿو جيڪو واضح طور تي مختلف گهٽ-سطح طريقن جي وضاحت ڪرڻ جي ضرورت کي ختم ڪري ٿو جهڙوڪ equals()، hashCode() ۽ toString() ڪيسن ۾ جتي ڊيٽا محفوظ ڪئي وئي آهي. صرف شعبن ۾، جنهن سان اهو تبديل نٿو ڪري. جڏهن ڪو طبقو استعمال ڪري ٿو معياري لاڳو ڪرڻ جي برابر ()، hashCode() ۽ toString() طريقن، اهو انهن جي واضح وصف کان سواءِ ڪري سگهي ٿو: عوامي رڪارڊ BankTransaction(LocalDate date, double amount, String description) {}

    هي اعلان خود بخود برابر ()، hashCode() ۽ toString() طريقن جي عملن کي شامل ڪندو، اضافي طور تي تعمير ڪندڙ ۽ حاصل ڪندڙ طريقن سان.

  • هڪ ٻيو مسودو سيل ٿيل طبقن ۽ انٽرفيس لاءِ تجويز ڪيو ويو آهي جيڪو ٻين طبقن ۽ انٽرفيس پاران استعمال نه ٿو ڪري سگهجي ته انهن کي ورثي ۾ آڻڻ، وڌائڻ يا ان کي ختم ڪرڻ لاءِ. سيل ٿيل ڪلاس پڻ هڪ وڌيڪ بياني طريقو مهيا ڪن ٿا سپر ڪلاس جي استعمال کي محدود ڪرڻ لاءِ رسائي موڊيفائرز جي بجاءِ، واضح طور تي لسٽ ڪرڻ جي بنياد تي، جنهن کي وڌائڻ جي اجازت ڏني وئي آهي. پيڪيج com.example.geometry؛ عوامي مهربند ڪلاس شڪل اجازتون com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {…}

جو ذريعو: opennet.ru

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