В новом переводе от команды Spring АйО рассказывается, как сократить время разогрева JVM с помощью ahead-of-time компиляции (в рамках Project Leyden), а также объясняется, почему традиционные GC-барьеры мешают гибкому выбору сборщика мусора.
Статья содержит интересное решение — GC-независимые барьеры загрузки, которые можно «пропатчить» в рантайме под конкретный GC, обеспечивая совместимость без переписывания кода.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/949710/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥9👍8
❗️Spring АйО на Java Rock Stars meetup уже завтра❗️
Друзья, уже завтра эксперты Spring АйО выступят на ближайшем Java Rock Stars meetup.
Вас ждет:
💬 Живая дискуссия от экспертов Spring АйО
– Релизный цикл и поддержка Spring. Как работать с этим в России? Spring или Axiom Spring, вот в чем вопрос. Участвуют эксперты сообщества: Михаил Поливаха, Павел Кислов, Илья Сазонов, Фёдор Сазонов
🤘 Доклады от настоящих рок-звезд Java:
– Дмитрий Фатов покажет, как ускорить вставку данных в PostgreSQL: от кастомных методов до многопоточности и атомарности.
– Вместе с Дмитрием Соломенниковым разберемся в фичах Java 25 и посмотрим, как все устроено под капотом.
📅 25 сентября, начало в 17:30.
📍 Москва, район метро Бауманская.
Участие бесплатное, нужно только зарегистрироваться.
Будем вас ждать!
Друзья, уже завтра эксперты Spring АйО выступят на ближайшем Java Rock Stars meetup.
Вас ждет:
💬 Живая дискуссия от экспертов Spring АйО
– Релизный цикл и поддержка Spring. Как работать с этим в России? Spring или Axiom Spring, вот в чем вопрос. Участвуют эксперты сообщества: Михаил Поливаха, Павел Кислов, Илья Сазонов, Фёдор Сазонов
🤘 Доклады от настоящих рок-звезд Java:
– Дмитрий Фатов покажет, как ускорить вставку данных в PostgreSQL: от кастомных методов до многопоточности и атомарности.
– Вместе с Дмитрием Соломенниковым разберемся в фичах Java 25 и посмотрим, как все устроено под капотом.
📅 25 сентября, начало в 17:30.
📍 Москва, район метро Бауманская.
Участие бесплатное, нужно только зарегистрироваться.
Будем вас ждать!
🔥15❤7👍6
Наш эксперт Павел Кислов расскажет про JWT и проблемы в использовании.
Сегодня в веб-ландшафтах IT-компаний все чаще используется JWT. Однако, в правильной готовке JWT много нюансов. Чаще я встречаю неправильные практики и путаницу терминов в проектах на Java с использованием Spring и не только. Простая вроде штука - токены. В чем можно напортачить, как этого не сделать и что нужно понимать и настраивать правильно говорим на моем докладе. А самое главное обсудим "стоит ли игра свеч".
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍11❤7👎1
Shenandoah — это высокопроизводительный сборщик мусора с низкими задержками, разработанный компанией Red Hat и впервые внедрённый в OpenJDK.
Он был создан с целью минимизировать задержки на протяжении работы приложения, что особенно важно для приложений с высокими требованиями к производительности и отзывчивости.
В новом переводе от команды Spring АйО рассмотрим основные особенности Shenandoah, его работу, настройку и примеры использования.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/950642/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤9👍6👎1🤔1
Когда вы открываете Netflix, кажется, что всё уже готово — но на самом деле под капотом разворачивается сложная архитектура, которая адаптирует главную страницу в реальном времени. Команда Netflix перешла от статичной генерации страниц к умной системе, основанной на GraphQL-мутaциях, клиентской нормализации кэша и триггерах обновлений.
В новом переводе от команды Spring АйО подробно рассказывается, как устроен API, как работают обновления, и почему Netflix выбрал именно мутации вместо подписок или обычных запросов.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/951168/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥13❤9
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😁48🔥9🤩4👎1
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Зачем нам Gradle 9, чем хорош Postgres 18 и секреты хорошего доклада | Spring АйО Подкаст №36
– JVM: Барьеры, которые подходят любому GC
– Эксперт Spring АйО Павел Кислов на TechMeetup
– Путеводитель для начинающих по сборщику мусора Shenandoah
– Как Netflix сделал главную страницу по-настоящему динамичной с помощью GraphQL и триггеров
– Joker 2025: 28 докладов о современных практиках Java-разработки
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤10👍8🔥5⚡1
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19⚡6😁6❤1
Эксперт Spring АйО Михаил Поливаха весной этого года выступал на конференции Mobius 2025 с докладом про SQLite:
В большинстве своем базы данных - довольно сложные софтверные продукты. Чтобы понять, как конкретно работает Oracle, нужно познать дзен и принять Буддизм.
Несмотря на то, что SQLite довольно простая база данных, он также реализует традиционный для баз данных функционал - локи, transaction control, индексация и т.д. И за счет своей простоты, SQLite является хорошим академическим примером, на котором можно увидеть:
- Как реализован WAL под капотом
- Как реализованы гарантии транзакций
- Как разложены индексы в памяти и многое другое
Все это будет в докладе. Кому интересны детали реализации самой используемой БД в мире - welcome :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍19❤8
🍃 Состояние HTTP-клиентов в Spring
В новом переводе от команды Spring АйО команда Spring делает важное объявление — RestTemplate уходит в прошлое. С выходом Spring Framework 7.0 разработчики официально заявляют о плане поэтапного прекращения поддержки одного из самых популярных HTTP-клиентов в экосистеме. Его место занимает RestClient, современный fluent-клиент с расширенными возможностями: API-версионирование, гибкая конфигурация конвертеров, группы HTTP-интерфейсов и новый тестовый клиент RestTestClient.
Кроме того, в Spring Boot 4.0 появятся отдельные стартеры для каждого типа клиента, а RestClient теперь можно удобно переиспользовать с уже существующей инфраструктурой RestTemplate.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952158/
В новом переводе от команды Spring АйО команда Spring делает важное объявление — RestTemplate уходит в прошлое. С выходом Spring Framework 7.0 разработчики официально заявляют о плане поэтапного прекращения поддержки одного из самых популярных HTTP-клиентов в экосистеме. Его место занимает RestClient, современный fluent-клиент с расширенными возможностями: API-версионирование, гибкая конфигурация конвертеров, группы HTTP-интерфейсов и новый тестовый клиент RestTestClient.
Кроме того, в Spring Boot 4.0 появятся отдельные стартеры для каждого типа клиента, а RestClient теперь можно удобно переиспользовать с уже существующей инфраструктурой RestTemplate.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952158/
👍35🔥13❤10
⏱️ Байткод инструментация методов в Java: когда семплирования уже мало
Семплирующие профили не показывают реальное число вызовов и их длительность — а значит, мимо может пролетать важная боль. В новом переводе от команды Spring АйО на примерах показано, как включить инструментальную трассировку в async-profiler и что даёт новая фича latency: от ловли неожиданного
Разбираем накладные расходы, хитрости вроде interval, практичные кейсы (почему
Если вам нужны точные пути выполнения и реальная latency без убийства продакшена — это must-read.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952928/
Семплирующие профили не показывают реальное число вызовов и их длительность — а значит, мимо может пролетать важная боль. В новом переводе от команды Spring АйО на примерах показано, как включить инструментальную трассировку в async-profiler и что даёт новая фича latency: от ловли неожиданного
System.gc() и источников OutOfMemoryError до точного замера «долгих» вызовов с порогом и разбором в JMC через JFR-события. Разбираем накладные расходы, хитрости вроде interval, практичные кейсы (почему
ArrayList.contains и AbstractSet.removeAll могут внезапно стать O(N*M) и как это починить), а ещё сравниваем подход async-profiler с нововведениями в рамках JDK 25 (JEP 520), где последний имеет ряд недостатков.Если вам нужны точные пути выполнения и реальная latency без убийства продакшена — это must-read.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/952928/
👍21🔥6❤5⚡2
🧹 JEP 504: удаление Applet API (JDK 26)
В JDK 26 Applet API будет удален. Причина проста: современные браузеры и недавние версии JDK не поддерживают апплеты. История такова: JEP 289 пометил Applet API как deprecated в JDK 9 (2017), в JDK 11 удалили инструмент appletviewer (2018), в JDK 17 Applet API пометили к удалению (JEP 398, 2021), а в JDK 24 был окончательно отключен Security Manager, на котором держалась изоляция апплетов (JEP 486, 2025).
Что удаляют?
Весь пакет
Влияние на совместимость
Существенных рисков для пользовательских приложений не ожидается, так как API фактически непригоден к использованию. Приложения, где Applet выступал контейнером пользовательского интерфейса, либо останутся на старых версиях, либо перейдут на другие API; для таких случаев в AWT имеются альтернативы.
Отдельное изменение касается
Поностальгируем в комментах! 👇
В JDK 26 Applet API будет удален. Причина проста: современные браузеры и недавние версии JDK не поддерживают апплеты. История такова: JEP 289 пометил Applet API как deprecated в JDK 9 (2017), в JDK 11 удалили инструмент appletviewer (2018), в JDK 17 Applet API пометили к удалению (JEP 398, 2021), а в JDK 24 был окончательно отключен Security Manager, на котором держалась изоляция апплетов (JEP 486, 2025).
Что удаляют?
Весь пакет
java.applet (Applet, AppletContext, AppletStub, AudioClip), а также java.beans.AppletInitializer и javax.swing.JApplet. Дополнительно убираются оставшиеся элементы API, ссылающиеся на эти классы и интерфейсы, включая поля и методы в java.beans.Beans и javax.swing.RepaintManager.Влияние на совместимость
Существенных рисков для пользовательских приложений не ожидается, так как API фактически непригоден к использованию. Приложения, где Applet выступал контейнером пользовательского интерфейса, либо останутся на старых версиях, либо перейдут на другие API; для таких случаев в AWT имеются альтернативы.
Отдельное изменение касается
java.net.URL#getContent() и URLConnection#getContent(): их возвращаемый тип — Object, и ранее для аудиоданных мог возвращаться java.applet.AudioClip. После удаления Applet API это будет невозможно, и код, который приводил результат к AudioClip, больше не скомпилируется и не запустится, потребуется корректировка.Поностальгируем в комментах! 👇
👍27🔥11😁8❤1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😁33🔥18❤8👍4👎2