Всем привет! ????? Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

Лето в разгаре, а Java-мир не останавливается ни на день. Пока кто-то разъезжается в отпуска, инженеры Oracle и энтузиасты экосистемы выкатывают один апдейт за другим. В этом выпуске вас ждут: JEPs для JDK 25 и 26 — от стабильного JFR до удаления Applet API, милестоны Project Reactor и Spring Framework 7, обновления от Micronaut, Apache Camel и GraalVM, день рождения Kotlin и революционные новости от JetBrain, пачка интересных видео с Java One’25 и Inside Java, обзоры книг, туториалов и просто полезные статьи на каждый день. А еще 30 августа нас ждет встреча на JVM Day в Москве!

Заваривайте кофе и читайте — от инженерных мелочей до изменений, которые могут повлиять на архитектуру ваших приложений. Поехали! ?

Горячие JEPs

JEP 518 направлен в JDK 25. JEP улучшает стабильность работы JDK Flight Recorder (JFR), когда он асинхронно выполняет выборку стеков потоков Java. Достигается это за счет просматривания стеков вызовов только в безопасных точках.

JEP 8361187 предлагает включить compact object headers по умолчанию в JDK, заменяя старый 12-байтный формат заголовков объектов. Это снижает потребление памяти (до −22 %) и ускоряет работу (до +10 %) без потери стабильности — механизм успешно протестирован в проде. Старый формат можно будет временно вернуть через -XX:-UseCompactObjectHeaders.

Мы уже писали о JEP 504 «Удаление Applet API». После завершения ревью он повышен со статуса Proposed to Target до Targeted для релиза JDK 26. Этот JEP предлагает удалить API для апплетов, устаревший еще в JDK 17, поскольку апплеты больше не поддерживаются в браузерах.

Свежие релизы

Пятый milestone-release Project Reactor 2025.0.0 несет обновления зависимостей для reactor-core 3.8.0-M5, reactor-netty 1.3.0-M5, reactor-pool 1.2.0-M5, reactor-addons 3.6.0-RC3и reactor-kotlin-extensions 1.3.0-RC2. 


Micronaut Foundation выпустили новую версию Micronaut Framework 4.9.1, основанную на Micronaut Core 4.9.7, с исправлениями ошибок и обновлениями модулей: Micronaut JAX-RS, Micronaut Data, Micronaut SQL Libraries, Micronaut AOT и Micronaut OpenAPI. Подробности — в примечаниях к выпуску.


Релиз Apache Camel 4.13.0 содержит исправление ошибок, обновление зависимостей и ряд улучшений, таких как рефакторинг интерфейса BackOffTimer и класса BackOfTimerTask, поддержку JetStreamApi в компоненте Camel NATS. Детали — в примечаниях к выпуску.


Релиз GraalVM для JDK 24 Community Edition 24.0.2 несет исправления из июльского Critical Patch Update (CPU) от Oracle, включая:

  • использование типа DWORD при сравнении значений для поиска в классе AMD64ArrayIndexOfOp;

  • устранение ошибки UnsatisfiedLinkError, возникающей при невозможности найти нативную реализацию метода при использовании JDK Flight Recorder.

Подробная информация доступна в release notes. 

Вместе с обновлениями от Oracle BellSoft выпустила CPU для различных версий своего дистрибутива Liberica JDK.


Вышел седьмой milestone-релиз Spring Framework 7.0.0, который содержит багфиксы, улучшения документации, обновления зависимостей и новые функции:

  • новые аннотации @Retryable, @ConcurrencyLimit, @EnableResilientMethods (Resiliency Features);

  • интерфейс JmsClient для упрощенной отправки/приема сообщений через JMS;

  • интерфейс HttpMessageConverters для создания неизменяемого набора конвертеров сообщений.

Подробная информация — в release notes.

Главные новости

Kotlin празднует день рождения ?

22 июля одному из самых распространенных и успешных JVM-языков исполнилось 14 лет. За эти годы произошло много значимых событий:

  • Google официально объявила Kotlin предпочтительным языком для разработки под Android;

  • вышел компилятор K2;

  • Kotlin Multiplatform стал стабильным.

Желаем команде разработки успехов в развитии такого замечательного языка. Поздравляем! ???

А команда Amplicode провела в честь этого события праздничный стрим.

IntelliJ IDEA переходит на единый дистрибутив. Начиная с IntelliJ IDEA 2025.3 больше не будет разделения на Community и Ultimate Edition. Вместо этого будет один установщик. При этом ряд функций все еще будет доступен только по подписке, как это сейчас работает в Ultimate Edition.

Некоторые фичи станут бесплатными:

  • Подсветка синтаксиса для популярных фреймворков, таких как Spring, Jakarta EE, Quarkus, Micronaut, JPA (JPQL/HQL), шаблонизаторов Thymeleaf, Velocity, FreeMarker и JSP, манифестов Kubernetes и Helm-чартов, а также для некоторых не-JVM-языков.

  • Список мастеров создания нового проекта будет расширен и включит поддержку Spring, Jakarta EE, Quarkus, Micronaut и Ktor.

  • Подключение к БД. Но можно будет просматривать только схемы данных. Исполнение SQL-запросов все еще будет доступно только по подписке.

Отдельное спасибо команде Spring АйО за перевод новости.

Начиная с IntelliJ IDEA 2025.2, переработанный терминал будет включен по умолчанию. Переработанный терминал вышел в бету еще год назад. Терминал — мощный инструмент с солидным набором крутых фич: подсветкой синтаксиса, автодополнением команд, разделением на блоки. В стабильной версии обещают добавить настройки цветовой схемы, улучшение производительности и больше возможностей для удаленной работы.  

Интересные видео

Java Gets a JSON API — Inside Java Newscast #95 Выпуск посвящен недавней email-рассылке Towards a JSON API for the JDK от Paul Sandoz. Николай коротко рассказывает о том, зачем Java нужен свой API для работы с JSON, как оно может выглядеть и какую роль в нем будет играть паттерн-матчинг. Разумеется, пока это даже не JEP draft, но данная инициатива имеет хорошие шансы реализоваться. Java точно не помешает инструментарий из коробки.

Java 25 is ALSO no LTS Version - Inside Java Newscast #94 В видео Николай рассказывает, почему LTS в отношении Java 25 — это неправильно. В основном это связано с тем, что у JDK много вендоров и поддержку получают компании, которые покупают JDK у них. Большая часть Java-разработчиков, использующих бесплатные JDK, поддержки как таковой не получают.

Вышла еще пачка докладов с Java One’25:

Java Security Evolution - Out with the Old, In with the New Если вы работаете с корпоративными системами, криптографией или просто не хотите однажды проснуться с уязвимым приложением, вам сюда. В докладе инженер из Oracle рассказывает, как Java готовится к постквантовой эре, почему SecurityManager уходит в прошлое и какие нововведения уже появились в JDK 21—24. 

A Sneak Peek at the Stable Values API Доклад про стабильные значения: must-see для всех, кто работает с ленивой инициализацией, кэшем и многопоточностью. Вы узнаете, как стабилизировать значения так, чтобы виртуальная машина вас за это благодарила — ускорением исполнения и оптимизацией JIT. С примерами, бенчмарками и концепциями, которые легко применять уже сегодня.

JavaFX in the Web Задумывались, как запустить полноценное JavaFX-приложение прямо в интернете, без перезаписи кода под веб? Вот и я не задумывался. А из этого доклада вы узнаете, как работает JPEPro — технология, которая позволяет разворачивать JavaFX на сервере и транслировать UI в браузер. С примерами реальных приложений, маршрутизацией, авторизацией и производительностью, которая порой обгоняет настольные версии.

Полезные статьи

Spring Data JDBC и R2DBC 4.0 получат поддержку составных идентификаторов. Если вы хоть раз моделировали первичный ключ из нескольких полей в Spring Data JDBC или R2DBC, то знаете: это больно. Теперь нет. С версии 4.0.0-M4 вы просто описываете record, помечаете его как @Id, и все работает. Без хака на @MappedSuperclass, без танцев с шаблонами. Михаил Поливаха, контрибьютор Spring Data, подробно объясняет, как использовать новую фичу, когда пригодится @Embedded, зачем нужен BeforeConvertCallback и как аккуратно вставлять сущности с такими ключами через JdbcAggregateTemplate. Подходит как для JDBC, так и для R2DBC.

Рецензия на книгу «Программируем на Java: практический подход к созданию надежных и эффективных приложений». Теперь и на русском. Книга Аарона Плоетца «Программируем на Java» — это пошаговое руководство по современной Java 21, где вы не просто изучите синтаксис, а сразу начнете решать реальные задачи. От объектно-ориентированного программирования и коллекций до Spring Boot, PostgreSQL, Cassandra, Vaadin и даже аркадной игры на Swing. Книга получила 4.2 из 5 на Amazon, а теперь доступна и с хорошим переводом. Отличный старт для новичков и база для системного повторения Java в 2025 году.

Java in 2025: The New Features That Will Blow Your Mind (Medium). Автор подробно рассказывает о ключевых новациях Java в 2025, включая virtual threads, structured concurrency и другие крупные изменения, которые упрощают жизнь Java-разработчика.

Роман Краснослободцев

Рекомендую для быстрого ознакомления в случае TL;DR основных материалов. Да, после 8-й Java мы вряд ли увидим фундаментальные изменения, но текущие улучшения позволят работать быстрее и вам, и вашему коду ?

Константин Максимов

Мы вряд ли увидим фундаментальные изменения». Тем временем паттерн-матчинг: я для тебя какая-то шутка? ???

Java 25: what’s new? Обзор JEPs предстоящего релиза Java 25. Нас ожидают дополнительные метрики в JFR, которые позволят смотреть stack trace и время выполнения интересных методов. В качестве превью в JFR будет доступен профайлер для CPU-Time, но только при запуске приложения в Linux. Для AOT-компиляции улучшат команды командной строки и добавят возможность профилирования. А из превью наконец выйдут:

  • JEP 506 Scoped Values; 

  • JEP 513 Flexible Constructor Bodies;

  • JEP 519 Compact Object Headers;

  • JEP 511 Module Import Declarations;

  • JEP 512 Compact Source Files and Instance Main Methods;

  • JEP 521 Generational Shenandoah;

  • JEP 510 Key Derivation Function API.

Spring Debugger: Working With Dynamic Database Connections Just Got Simpler.

Туториал демонстрирует очень крутую фичу плагина Spring Debugger. При запуске Spring-приложения или тестов в режиме отладки этот плагин автоматически находит и регистрирует в секции DataSource подключения к БД, которые были подняты в Testcontainers. Далее с этим можно работать как со стандартными дата-сорсами: смотреть схему, данные, делать запросы и так далее. Это сильно упрощает жизнь при отладке подобных тестов. 

An Introduction to Jakarta Persistence 3.2 by Examples. Статья рассказывает о нововведениях Jakarta Persistence версии 3.2. Несмотря на минорное обновление, фич добавили много. JQPL-запросы теперь можно начинать с from, пропуская select. Ранее эта функциональность уже была в Hibernate — теперь будет и в Jakarta Persistense. 

Добавили новые функции id(this), count(this), version(this). Конкатенация строк в стиле SQL через ||. В ORDER BY теперь можно использовать nulls first и nulls last. SQL-функции left, right, cast, replace теперь поддерживаются. Операторы для множеств union, intersect и except тоже поддерживаются, их добавили в интерфейс CriteriaBuilder. И это только маленькая часть обновлений.

Introducing Quarkus quickjs4j: Seamless JavaScript Integration in Your Quarkus Applications. Quarkus представил расширение quickjs4j, которое позволяет запускать JavaScript через легкий движок QuickJS прямо в Java‑приложениях. Оно упрощает добавление динамических скриптов без перезапуска и интегрируется с Quarkus.

RESTful API Guidelines. Автор разбирает распространенные ошибки в REST API — несогласованные URIs, неверное использование HTTP-методов и кодов, отсутствие версионирования и стандартов. Автор подчеркивает важность четких правил и единообразия, чтобы API были предсказуемыми, поддерживаемыми и удобными для разработчиков.

Bringing GPU-Level Performance to Enterprise Java: a Practical Guide to CUDA Integration. Статья объясняет, как интегрировать CUDA с Java (через JNI или JCuda), чтобы ускорить тяжелые вычисления — от шифрования до аналитики — в десятки раз по сравнению с CPU. Рассматриваются основные подходы, примеры и практики по управлению памятью и безопасностью при работе с GPU.

Джавовые события

30 августа снова соберемся на JVM Day — конференцию от Т-Банка, посвященную Java, Scala и Backend-технологиям. Участников будет ждать 19 докладов от инженеров из бигтехав, демостены про продукты и афтепати, на котором будем прощаться с летом.

Спасибо за прочтение! Ждем вашей обратной связи в комментариях. Увидимся через месяц ?

Присылайте материалы, если встретили что-то интересное, — опубликуем в следующем выпуске!

Комментарии (0)