Java SE 19 шығарылымы

Алты айлық әзірлеуден кейін Oracle анықтамалық іске асыру ретінде OpenJDK ашық бастапқы жобасын пайдаланатын Java SE 19 (Java Platform, Standard Edition 19) платформасын шығарды. Кейбір ескірген мүмкіндіктердің жойылуын қоспағанда, Java SE 19 Java платформасының алдыңғы шығарылымдарымен кері үйлесімділікті сақтайды — бұрын жазылған Java жобаларының көпшілігі жаңа нұсқада іске қосылған кезде өзгеріссіз жұмыс істейді. Java SE 19 (JDK, JRE және Server JRE) орнатуға дайын жинақтары Linux (x86_64, AArch64), Windows (x86_64) және macOS (x86_64, AArch64) үшін дайындалған. OpenJDK жобасы әзірлеген Java 19 анықтамалық іске асыру коммерциялық өнімдермен динамикалық байланыстыруға мүмкіндік беру үшін GNU ClassPath ерекшеліктері бар GPLv2 лицензиясы бойынша толық ашық көзі болып табылады.

Java SE 19 келесі шығарылымға дейін шығарылатын жаңартулары бар тұрақты қолдау шығарылымы ретінде жіктеледі. Ұзақ мерзімді қолдау (LTS) тармағы Java SE 17 болуы керек, ол 2029 жылға дейін жаңартуларды алады. Естеріңізге сала кетейік, Java 10 шығарылымынан бастап жоба жаңа әзірлеу процесіне көшті, бұл жаңа шығарылымдарды қалыптастырудың қысқа циклін білдіреді. Жаңа функционалдылық қазірдің өзінде аяқталған өзгерістерді қамтитын және жаңа шығарылымдарды тұрақтандыру үшін жарты жылда бір рет тармақталып тұратын бір негізгі бөлімде жаңа функционалдылық әзірленуде.

Java 19-дағы жаңа мүмкіндіктер мыналарды қамтиды:

  • Жазба түрінің сыныптарының мәндерін талдау үшін Java 16 үлгісін сәйкестендіру мүмкіндігін кеңейтетін жазба үлгілеріне алдын ала қолдау ұсынылды. Мысалы: жазба Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Linux құрастырулары RISC-V архитектурасына қолдау көрсетеді.
  • Сыртқы кітапханалардан функцияларды шақыру және JVM тыс жадқа қол жеткізу арқылы Java бағдарламаларының сыртқы кодпен және деректермен өзара әрекеттесуін ұйымдастыруға мүмкіндік беретін FFM (Foreign Function & Memory) API үшін алдын ала қолдау қосылды.
  • Жазуды және өнімділігі жоғары көп ағынды қолданбаларды қолдауды айтарлықтай жеңілдететін жеңіл ағындар болып табылатын виртуалды ағындарға қолдау қосылды.
  • X86_64 және AArch64 процессорларының векторлық нұсқауларын қолдану арқылы орындалатын және бір уақытта бірнеше мәндерге (SIMD) операцияларды қолдануға мүмкіндік беретін векторлық есептеулерге арналған функцияларды қамтамасыз ететін Vector API төртінші алдын ала енгізу ұсынылады. Скалярлық операцияларды автовекторизациялау үшін 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 қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру