Java SE 19 lage

Apre sis mwa nan devlopman, Oracle te pibliye Java SE 19 (Java Platform, Standard Edition 19), ki sèvi ak pwojè OpenJDK sous louvri kòm yon aplikasyon referans. Ak eksepsyon de retire kèk karakteristik demode, Java SE 19 kenbe konpatibilite bak ak degaje anvan yo nan platfòm Java a - pifò pwojè Java yo te ekri yo pral travay san chanjman lè yo kouri anba nouvo vèsyon an. Pare-pou-enstale bati nan Java SE 19 (JDK, JRE ak sèvè JRE) yo prepare pou Linux (x86_64, AArch64), Windows (x86_64) ak macOS (x86_64, AArch64). Pwojè OpenJDK devlope, aplikasyon referans Java 19 la se yon sous totalman louvri anba lisans GPLv2, ak eksepsyon GNU ClassPath ki pèmèt lyen dinamik ak pwodwi komèsyal yo.

Java SE 19 klase kòm yon lage sipò regilye epi li pral kontinye resevwa mizajou jiska pwochen lage a. Branch Sipò Alontèm (LTS) ta dwe Java SE 17, ki pral kontinye resevwa mizajou jiska 2029. Se pou nou raple w ke kòmanse ak lage nan Java 10, pwojè a chanje nan yon nouvo pwosesis devlopman, ki vle di yon sik ki pi kout pou fòmasyon nan nouvo degaje. Nouvo fonksyonalite kounye a devlope nan yon sèl branch mèt toujou ap mete ajou, ki gen ladann chanjman ki pare yo epi ki soti nan ki branch yo branch chak sis mwa estabilize nouvo degaje.

Nouvo karakteristik nan Java 19 yo enkli:

  • Предложена предварительная поддержка шаблонов записей (record pattern), расширяющая появившуюся в Java 16 возможность сопоставления с образцом средствами для разбора значений классов типа record. Например: record 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.
  • Добавлена предварительная поддержка API FFM (Foreign Function & Memory), позволяющего организовать взаимодействие Java-программ с внешними кодом и данными через вызов функций из внешних библиотек и доступ к памяти вне JVM.
  • Добавлена поддержка виртуальных потоков, представляющих собой легковесные потоки, значительно упрощающие написание и сопровождение высокопроизводительных многопоточных приложений.
  • Предложена четвёртая предварительная реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Добавлена третья экспериментальная реализация сопоставления по шаблону в выражениях «switch», позволяющая в метках «case» использовать не точные значения, а гибкие шаблоны, охватывающие сразу серию значений, для которых ранее приходилось использовать громоздкие цепочки выражений «if…else». Object o = 123L; String formatted = switch (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); default -> o.toString(); };
  • Добавлен экспериментальный API для cтруктурированного параллелизма, упрощающий разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.

Sous: opennet.ru

Add nouvo kòmantè