Как стать автором
Обновить

Вышла версия Java SE 19

Время на прочтение2 мин
Количество просмотров5.8K

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 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 19 будет иметь обычный срок поддержки, обновления для которого будут выпускаться до следующего релиза. Java SE 17 будет иметь длительный срок поддержки (LTS). Обновления для версии будут выпускаться до 2029 года. 

В Java 19 включили:

  • предварительную поддержку шаблонов записей (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);
       }
   }
  • поддержку архитектуры RISC-V в сборках для Linux;

  • предварительную поддержку API FFM (Foreign Function & Memory) для организации взаимодействия Java-программ с внешними кодом и данными через вызов функций из внешних библиотек и доступ к памяти вне JVM;

  • поддержку виртуальных потоков, представляющих собой легковесные потоки, значительно упрощающие написание и сопровождение высокопроизводительных многопоточных приложений;

  • четвёртую предварительную реализацию API Vector, предоставляющего функции для векторных вычислений с использованием векторных инструкций процессоров x86_64 и AArch64. Новый API позволяет явно управлять векторизацией для параллельной обработки данных;

  • третью экспериментальную реализацию сопоставления по шаблону в выражениях "switch", позволяющую в метках "case" использовать гибкие шаблоны с серией значений.

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();
};

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Другие новости

Работа

Java разработчик
194 вакансии

Ближайшие события