Java SE 24 е пусната. Научете за неговите нови функции, подобрения и др.

Java платформа, стандартно издание

След шест месеца развитие, Oracle обяви пускането на Java SE 24, базиран на проекта OpenJDK с отворен код, поддържайки обратна съвместимост, така че повечето разработени преди това проекти ще продължат да работят без модификации.

За разлика от изданията за дългосрочна поддръжка (LTS), Java SE 24 е редовна версия за поддръжка, което предполага актуализации до следващото издание. За тези, които търсят дългосрочна стабилност, Java SE 21 и Java SE 17 ще продължат да се поддържат съответно до 2031 г. и 2029 г. Освен това разширената поддръжка на Java SE 8 LTS ще продължи до 2030 г., докато Java SE 11 ще остане в сила до 2032 г.

Подобрения и нови функции

В тази нова версия, която е представена на Java SE 24, един от най-важните подобрения е въвеждането на Експериментален генеративен режим за събирача на боклук Шенандоа (предназначен за отделна обработка на нови и стари обекти). Този нов режим подобрява ефективността при почистване на краткотрайни обекти, оптимизира използването на паметта и предлага по-стабилна производителност при различни натоварвания.

Друга новост, която се откроява е Експериментална поддръжка за заглавки на компактни обекти в HotSpot JVM, намалявайки размера му от 96 на 64 бита на 64-битови системи. Тази оптимизация помага за намаляване на размера на купчината и подобряване на ефективността на кеша на паметта.

Събирачът на боклука G1 също е оптимизиран с редизайн на бариерите, които наблюдават достъпа до паметта от приложенията. Разширяването на бариерата вече се извършва по-късно в процеса на компилиране в рамките на C2 JIT компилатора, намалявайки режийните разходи с до 20%, в зависимост от типа на приложението.

Подобрения в сигурността и криптирането

Java SE 24 въвежда API за извличането на криптографски ключове (KDF), позволява генерирането на допълнителни ключове от таен ключ и произволен набор от данни. Този API, все още във фаза на предварителен преглед, укрепва сигурността в управлението на ключове в рамките на платформата.

Освен това, Добавени са предупреждения за използването на API Java собствен интерфейс и чужда функция и памет, като подготовка за бъдещото внедряване на режим на интегритет, който ще ограничи достъпа по подразбиране до собствен код. Предупрежденията също са активирани при използване на външни методи за достъп до паметта чрез класа sun.misc.Unsafe, препоръчвайки миграция към VarHandle API.

От друга страна, в Java SE 24 поддръжка на ML-KEM криптографски алгоритми и ML-DSA (проектиран да бъде устойчиви на атаки с квантови изчисления). Тези алгоритми се основават на проблеми на мрежовата теория, като гарантират, че времето за решаване е еквивалентно както на конвенционалните, така и на квантовите компютри.

Мениджърът за защита на Java, който беше остарял след изчезването на поддръжката на плъгини на браузъра, беше премахнат за постоянно.

Оптимизации

JVM HotSpot вече позволява предварително зареждане и свързване на класове по-рано, което значително ускорява стартирането на приложението. При първото стартиране състоянието на класовете се кешира, за да се улесни зареждането при бъдещи стартирания.

също Внедряването на обхватни стойности е подобрено, която сега ппозволява споделяне на неизменни данни между нишки по-ефективно, заменяйки традиционния механизъм за локални променливи в нишката. Това е особено полезно, когато работите с милиони виртуални нишки едновременно.

Друга новост е оптимизиране на виртуални нишки в блокирани състояния. В тази версия блокирана виртуална нишка освобождава нишката на своята платформа, което позволява повторното ѝ използване от други нишки, подобрявайки скалируемостта на системи с високо използване на многопоточност.

От други промени, които се открояват:

  • Ново разширение на API на Stream, което ви позволява да дефинирате персонализирани междинни операции.
  • Машините за съпоставяне на шаблони са подобрени, за да поддържат примитивни типове (int, byte, char и т.н.) в изразите за превключване и оператора instanceof.
  • Добавена е четвърта предварителна версия на Structured Concurrency API, която опростява разработката на многонишкови приложения, като третира задачите в различни нишки като единична изпълнителна единица.
  • Въведен е по-опростен начин за деклариране на класове и дефиниране на метода main(), което елиминира необходимостта от дефиниране на публичен клас със статични методи.
  • Добавен е API за клас файл, който ви позволява да анализирате, генерирате и трансформирате Java клас файлове по-лесно и програмно.

И накрая, ако се интересувате да можете да научите повече за това, можете да се консултирате с подробностите в следваща връзка.

Изтеглете Java SE 24

За тези, които се интересуват от инсталирането на новата версия на Java SE 24, трябва да знаете, че компилациите (JDK, JRE и Server JRE) вече са готови за Linux, Windows и macOS.