Нашри Java SE 19

Пас аз шаш моҳи таҳия, Oracle платформаи Java SE 19 (Java Platform, Standard Edition 19) -ро баровард, ки лоиҳаи кушодаи OpenJDK-ро ҳамчун татбиқи истинод истифода мебарад. Ба истиснои бартараф кардани баъзе хусусиятҳои кӯҳнашуда, Java SE 19 мутобиқати қафоро бо версияҳои қаблии платформаи Java нигоҳ медорад - аксари лоиҳаҳои қаблан навишташудаи Java ҳангоми иҷро кардани версияи нав бидуни тағирот кор хоҳанд кард. Сохтаҳои насбшавандаи Java SE 19 (JDK, JRE ва Server JRE) барои Linux (x86_64, AArch64), Windows (x86_64) ва macOS (x86_64, AArch64) омода карда шудаанд. Татбиқи истинодҳои Java 19, ки аз ҷониби лоиҳаи OpenJDK таҳия шудааст, манбаи пурра дар доираи иҷозатномаи GPLv2 бо истисноҳои GNU ClassPath барои имкон додани пайвасти динамикӣ ба маҳсулоти тиҷоратӣ мебошад.

Java SE 19 ҳамчун як нашрияи муқаррарии дастгирӣ гурӯҳбандӣ карда мешавад, ки навсозиҳо бояд пеш аз нашри навбатӣ бароварда шаванд. Филиали Дастгирии дарозмуддат (LTS) бояд Java SE 17 бошад, ки то соли 2029 навсозиҳо мегирад. Ёдовар мешавем, ки аз нашри Java 10 оғоз шуда, лоиҳа ба раванди нави рушд гузашт, ки давраи кӯтоҳтари ташаккули релизҳои навро дар назар дорад. Ҳоло дар як филиали устои доимо таҷдидшаванда функсияҳои нав таҳия карда мешаванд, ки тағиротҳои аллакай анҷомёфтаро дар бар мегирад ва аз он филиалҳо ҳар шаш моҳ барои мӯътадил кардани релизҳои нав филиалҳо ҷудо карда мешаванд.

Хусусиятҳои нав дар Java 19 иборатанд аз:

  • Дастгирии пешакӣ барои намунаҳои сабт пешниҳод карда шудааст, ки қобилияти мувофиқ кардани намунаи Java 16-ро барои таҳлили арзишҳои синфҳои сабти навъи сабт васеъ мекунад. Масалан: сабти Нуқта(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Сохтаҳои Linux барои меъмории RISC-V дастгирӣ мекунанд.
  • Дастгирии пешакӣ барои API FFM (Function Function & Memory Foreign) илова карда шудааст, ки ба шумо имкон медиҳад ҳамкории барномаҳои Java бо код ва додаҳои беруна тавассути занги функсияҳо аз китобхонаҳои беруна ва дастрасӣ ба хотираи берун аз JVM ташкил карда шавад.
  • Дастгирии иловашуда барои риштаҳои виртуалӣ, ки риштаҳои сабук мебошанд, ки навиштан ва нигоҳдории барномаҳои сермаҳсули чандкаратаро хеле содда мекунанд.
  • Чорумин татбиқи пешакии API Vector, ки функсияҳоро барои ҳисобҳои векторӣ пешниҳод мекунад, ки бо истифода аз дастурҳои вектории протсессори x86_64 ва AArch64 иҷро карда мешаванд ва ба шумо имкон медиҳанд, ки ҳамзамон амалҳоро ба якчанд арзишҳо якбора татбиқ кунед (SIMD). Баръакси қобилиятҳое, ки дар компилятори HotSpot JIT барои автовекторизатсияи амалиётҳои скалярӣ пешбинӣ шудаанд, API-и нав имкон медиҳад, ки векторизатсияро барои коркарди параллелӣ идора карда шавад.
  • Татбиқи сеюми таҷрибавии мутобиқати намуна дар ифодаҳои коммутаторӣ илова карда шуд, ки имкон медиҳад қолабҳои чандирро дар ҳолатҳое, ки як қатор арзишҳоро дар бар мегиранд, ки қаблан барои онҳо занҷирҳои вазнини изҳороти if...else истифода шуда буданд, истифода баранд. Объект o = 123L; Сатри форматшуда = гузариш (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); пешфарз -> o.toString(); };
  • API-и таҷрибавии Structured Parallelism илова карда шуд, ки коркарди замимаҳои бисёр риштаро тавассути коркарди вазифаҳои сершуморе, ки дар риштаҳои гуногун ҳамчун як воҳиди ягона иҷро мешаванд, осонтар мекунад.

Манбаъ: opennet.ru

Илова Эзоҳ