🚀 Вышла Java 26 (JDK 26)
👉 Полный список изменений:
https://jdk.java.net/26/release-notes
Релиз получился компактным — всего около 10 JEP, но с упором на производительность, безопасность и «чистку» платформы
JEP 517 — HTTP/3 в HttpClient
В стандартный HTTP-клиент добавили поддержку HTTP/3. Это даёт меньшую задержку и лучшее поведение в нестабильных сетях, при этом остаётся fallback на HTTP/2.
JEP 500 — “final значит final”
Java начинает запрещать изменение final полей через reflection. Пока это предупреждения, но дальше будет жёсткое ограничение — важный шаг к безопасности и оптимизациям JVM.
JEP 516 — AOT-кэш для любого GC
Ahead-of-Time кэш теперь работает независимо от сборщика мусора, включая ZGC. Это упрощает использование и ускоряет старт приложений за счёт повторного использования подготовленного состояния.
JEP 522 — ускорение G1 GC
Сделали так, чтобы внутри G1 было меньше блокировок между потоками. За счёт этого потоки реже мешают друг другу, и приложение в целом работает быстрее, особенно под высокой нагрузкой.
JEP 504 — удаление Applet API
Applet API окончательно удалён после долгого процесса отказа от него. Это очередной шаг по избавлению от legacy и упрощению платформы.
Preview / incubator (движение платформы вперёд)
Structured Concurrency (JEP 525), Lazy Constants (JEP 526), Vector API (JEP 529) и primitive patterns (JEP 530) продолжают эволюцию языка и JVM. Это пока не production-фичи, но они задают направление развития Java.
А что вас порадовало больше всего в новом релизе?
#java #jdk #release
👉 Полный список изменений:
https://jdk.java.net/26/release-notes
Релиз получился компактным — всего около 10 JEP, но с упором на производительность, безопасность и «чистку» платформы
JEP 517 — HTTP/3 в HttpClient
В стандартный HTTP-клиент добавили поддержку HTTP/3. Это даёт меньшую задержку и лучшее поведение в нестабильных сетях, при этом остаётся fallback на HTTP/2.
JEP 500 — “final значит final”
Java начинает запрещать изменение final полей через reflection. Пока это предупреждения, но дальше будет жёсткое ограничение — важный шаг к безопасности и оптимизациям JVM.
JEP 516 — AOT-кэш для любого GC
Ahead-of-Time кэш теперь работает независимо от сборщика мусора, включая ZGC. Это упрощает использование и ускоряет старт приложений за счёт повторного использования подготовленного состояния.
JEP 522 — ускорение G1 GC
Сделали так, чтобы внутри G1 было меньше блокировок между потоками. За счёт этого потоки реже мешают друг другу, и приложение в целом работает быстрее, особенно под высокой нагрузкой.
JEP 504 — удаление Applet API
Applet API окончательно удалён после долгого процесса отказа от него. Это очередной шаг по избавлению от legacy и упрощению платформы.
Preview / incubator (движение платформы вперёд)
Structured Concurrency (JEP 525), Lazy Constants (JEP 526), Vector API (JEP 529) и primitive patterns (JEP 530) продолжают эволюцию языка и JVM. Это пока не production-фичи, но они задают направление развития Java.
А что вас порадовало больше всего в новом релизе?
#java #jdk #release
👍4🔥4
Вышел стабильный релиз Spring AI 2.0
Чуть больше года назад появился Spring AI версии 1.0, который позволил интегрировать ИИ в ваше спринговое приложение в привычном декларативном стиле. Тогда многие задавали вопрос "зачем он нужен, когда все работают с LLM на Python?" Прошёл год и Spring AI, вопреки этим сомнениям, получил дальнейшее развитие и уже претерпел несколько рефакторингов. Спустя несколько стадий release candidate, мы получили на днях первую production-ready версию под номером 2.
Этот релиз рассчитан на Spring Boot 4, тогда как первая версия была заточена под Spring Boot 3. Ну и приятный бонус, который я заметил, что в Spring Initializr наконец-то при выборе Kotlin наконец стала доступна Java 25! До этого кажется в течение полугода даже при явном выборе Java 25 в
Более подробно про миграцию с версии 1.1.x на 2.0 можно почитать здесь.
#devmark #spring #ai #release
Чуть больше года назад появился Spring AI версии 1.0, который позволил интегрировать ИИ в ваше спринговое приложение в привычном декларативном стиле. Тогда многие задавали вопрос "зачем он нужен, когда все работают с LLM на Python?" Прошёл год и Spring AI, вопреки этим сомнениям, получил дальнейшее развитие и уже претерпел несколько рефакторингов. Спустя несколько стадий release candidate, мы получили на днях первую production-ready версию под номером 2.
Этот релиз рассчитан на Spring Boot 4, тогда как первая версия была заточена под Spring Boot 3. Ну и приятный бонус, который я заметил, что в Spring Initializr наконец-то при выборе Kotlin наконец стала доступна Java 25! До этого кажется в течение полугода даже при явном выборе Java 25 в
pom.xml или gradle.build всё равно прописывалась Java 24.Более подробно про миграцию с версии 1.1.x на 2.0 можно почитать здесь.
#devmark #spring #ai #release
👍5🔥2🎉1