Новата версия на Java SE 18 вече е пусната и това са нейните новини

След шест месеца развитие, Oracle пусна изданието на новата версия на JavaSE 18 (Стандартно издание), което използва OpenJDK проекта с отворен код като референтна реализация.

В тази нова версия на Java SE 18 се предлага с изключение на премахване на някои отхвърлени функции, поддържа съвместимост с по-стари версии на платформата Java и повечето Java проекти, написани по-рано, ще продължат да работят непроменени, когато се изпълняват с новата версия.

Основни нови функции на Java SE 18

В тази нова версия на Java SE 18 кодирането по подразбиране е UTF-8. API на Java, които обработват текстови данни, кодирани със символи вече ще използва UTF-8 по подразбиране на всички платформи, независимо от системните настройки и регионалните настройки. За да върнете старото поведение, при което кодирането е избрано, като се вземе предвид локала на системата, можете да използвате параметъра “-Dfile.encoding=COMPAT”.

Друга от промените, които се открояват, е той преработи внедряването на java.lang.reflect API (Core Reflection), предназначен за получаване на информация за методи, полета и конструктори на класове, както и достъп до вътрешната структура на класовете. апи java.lang.reflect сам по себе си не се е променил, но сега се реализира с помощта на идентификаторите на методите, предоставени от модула java.lang.invoke, вместо да използвате генератори на байткод. Промяната позволи да се унифицира и улесни поддръжката на реализациите на java.lang.reflect и java.lang.invoke.

В допълнение към това се споменава и че предлага се третата предварителна реализация на Vector API, който предоставя функции за векторни изчисления, които се извършват с помощта на векторните инструкции на процесорите x86_64 и AArch64 и ви позволяват да прилагате операции едновременно към множество стойности (SIMD). За разлика от възможностите, предоставени в HotSpot JIT компилатора за автоматична векторизация на скаларни операции, новият API ви позволява изрично да контролирате векторизацията за паралелна обработка на данни.

Също така се подчертава, че добави SPI интерфейс (интерфейс на доставчика на услуги) за разрешаване на имена на хостове и IP адреси, което ви позволява да използвате алтернативни преобразуватели в java.net.InetAddress, които не са обвързани с драйверите, предоставени от операционната система.

От друга страна е предложено второ предварително внедряване на API за чужди функции и памет, с който приложенията могат да взаимодействат с код и данни извън средата за изпълнение на Java. Новият API позволява ефективно извикване на не-JVM функции y достъп до паметта който не се управлява от JVM. Например, можете да извикате функции от външни споделени библиотеки и да получите достъп до данни за процеса, без да използвате JNI.

Добавен a второ експериментално изпълнение на съвпадение на шаблони в изрази превключвател, което ви позволява да използвате гъвкави шаблони вместо точни стойности в тагове "case", покриващи множество стойности наведнъж, което преди изискваше тромави низове от изрази "if...else".

Включен пакет com.sun.net.httpserver, който включва помощната програма jwebserver и API на библиотеката с изпълнението от обикновен http сървър за обслужване на статично съдържание (CGI и подобни на сервлет контролери не се поддържат). Вграденият http сървър не е оптимизиран за натоварвания и не поддържа контрол на достъпа или удостоверяване, тъй като е предназначен предимно за използване в процеса на разработка на проекти за създаване на прототипи, отстраняване на грешки и тестване.

От останалите промени които се открояват:

  • JavaDoc поддържа маркера "@фрагмент» за вграждане на работни примери и кодови фрагменти в документацията на API, до която може да се стигне с инструменти за валидиране, подчертаване на синтаксиса и интеграция на IDE.
  • Отпаднал е и ще бъде премахнат в бъдеща версия, механизмът за завършване, както и свързаните с него методи като напр Object.finalize(), Enum.finalize(), Runtime.runFinalization() и System.runFinalization().
  • боклукчиите ZGC (Z Garbage Collector), SerialGC и ParallelGC те поддържат дедупликация на низове.

JavaSE 18 се класифицира като обикновена версия за поддръжка, с актуализации, които трябва да бъдат пуснати преди следващата версия. Клонът за дългосрочна поддръжка (LTS) трябва да бъде Java SE 17, който ще получава актуализации до 2029 г.

Важно е да запомните, че започвайки с версията на Java 10, проектът премина към нов процес на разработка, което означава по-кратък цикъл за формиране на нова версия. Сега се разработва нова функционалност в постоянно актуализиран главен клон, който включва вече завършени промени и от които клоновете се разклоняват на всеки шест месеца, за да стабилизират новите версии.

Вземете Java SE 18

За тези, които се интересуват да могат да тестват тази нова версия, моля, знайте, че компилациите са готови за Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64) и могат да бъдат получени от линка по-долу.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.