Java-новости: JDK 26 в Rampdown, JDK 27, TornadoVM 2.0 и Spring gRPC 1.0.
Кратко: InfoQ сообщает, что JDK 26 перешёл в Rampdown Phase One, сформирована экспертная группа JDK 27; вышли GlassFish 7.1, TornadoVM 2.0 и Spring gRPC 1.0, также обновлены Open Liberty, JHipster и Hibernate.
Подробности: https://www.infoq.com/news/2025/12/java-news-roundup-dec01-2025/
#en
@a_cup_of_java | Другие наши каналы
Кратко: InfoQ сообщает, что JDK 26 перешёл в Rampdown Phase One, сформирована экспертная группа JDK 27; вышли GlassFish 7.1, TornadoVM 2.0 и Spring gRPC 1.0, также обновлены Open Liberty, JHipster и Hibernate.
Подробности: https://www.infoq.com/news/2025/12/java-news-roundup-dec01-2025/
#en
@a_cup_of_java | Другие наши каналы
BellSoft выпустил Hardened Images для Java
Как пишет InfoQ, на KubeCon 2025 BellSoft представил Hardened Images — контейнеры на базе Alpaquita Linux и Liberica JDK Lite. Компания обещает снижение известных уязвимостей до 95%, экономию ресурсов до 30%, SBOM и три уровня поддержки.
Подробности: https://www.infoq.com/news/2025/12/bellsoft-hardened-images/
#en
@a_cup_of_java | Другие наши каналы
Как пишет InfoQ, на KubeCon 2025 BellSoft представил Hardened Images — контейнеры на базе Alpaquita Linux и Liberica JDK Lite. Компания обещает снижение известных уязвимостей до 95%, экономию ресурсов до 30%, SBOM и три уровня поддержки.
Подробности: https://www.infoq.com/news/2025/12/bellsoft-hardened-images/
#en
@a_cup_of_java | Другие наши каналы
❤1
Помогите, мой Java-объект исчез (и GC тут ни при чём)
Команда Spring АйО подготовила перевод разбора реального бага в HotSpot от разработчика OpenJDK. Во время работы над Project Valhalla его Java-объекты и классы начали «исчезать» без участия сборщика мусора — и поиск причины привёл к одному неверному биту в заголовке объекта, miscompilation в C2 и очень нетривиальному отладочному квесту. Этот текст показывает, как устроены mark word и Compact Object Headers, чем живёт Valhalla и как системное мышление плюс флаги JVM помогают выловить самые коварные ошибки.
Читать: https://habr.com/ru/companies/spring_aio/articles/973214/?utm_campaign=973214
@a_cup_of_java | Другие наши каналы
Команда Spring АйО подготовила перевод разбора реального бага в HotSpot от разработчика OpenJDK. Во время работы над Project Valhalla его Java-объекты и классы начали «исчезать» без участия сборщика мусора — и поиск причины привёл к одному неверному биту в заголовке объекта, miscompilation в C2 и очень нетривиальному отладочному квесту. Этот текст показывает, как устроены mark word и Compact Object Headers, чем живёт Valhalla и как системное мышление плюс флаги JVM помогают выловить самые коварные ошибки.
Читать: https://habr.com/ru/companies/spring_aio/articles/973214/?utm_campaign=973214
@a_cup_of_java | Другие наши каналы
Fray: инструмент для поиска ошибок конкурентности в JVM
InfoQ: Carnegie Mellon представил Fray (на Kotlin). Инструмент использует shadow locking, воспроизводит дедлоки и другие многопоточные баги, поддерживает JDK 25, интегрируется с Maven/Gradle и JUnit, уже нашёл баги в JDK, Lucene и Kafka.
Подробности: https://www.infoq.com/news/2025/12/fray-detects-concurrency-issues/
#en
@a_cup_of_java | Другие наши каналы
InfoQ: Carnegie Mellon представил Fray (на Kotlin). Инструмент использует shadow locking, воспроизводит дедлоки и другие многопоточные баги, поддерживает JDK 25, интегрируется с Maven/Gradle и JUnit, уже нашёл баги в JDK, Lucene и Kafka.
Подробности: https://www.infoq.com/news/2025/12/fray-detects-concurrency-issues/
#en
@a_cup_of_java | Другие наши каналы
OpenIDE 2025.2: поддержка Java 25, Virtual Thread Debugging и обновления UI
Вышла OpenIDE 2025.2 — первая российская IDE с поддержкой Java 25. Мы идём в ногу с платформой и остаёмся на самом острие технологий. Но не только этим релиз интересен: в нём появилась улучшенная отладка виртуальных потоков, обновления связанные с UI, а ещё пара важных обновлений экосистемы.
Поехали по порядку.
Читать: https://habr.com/ru/companies/haulmont/articles/974460/?utm_campaign=974460
@a_cup_of_java | Другие наши каналы
Вышла OpenIDE 2025.2 — первая российская IDE с поддержкой Java 25. Мы идём в ногу с платформой и остаёмся на самом острие технологий. Но не только этим релиз интересен: в нём появилась улучшенная отладка виртуальных потоков, обновления связанные с UI, а ещё пара важных обновлений экосистемы.
Поехали по порядку.
Читать: https://habr.com/ru/companies/haulmont/articles/974460/?utm_campaign=974460
@a_cup_of_java | Другие наши каналы
Миграция демо-проекта на Spring Boot 4, Spring 7.0, JDK 25
Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты:
Тесты на дженериках. Параметризация AssertJ и сравнение Json через объекты
Контроллеры на дженериках: пишем кода в 3 раза меньше
Миграция Java Spring Boot на Kotlin
Работа с документами в Java
Как многие знают, недавно вышел Spring Boot 4 / Spring 7.0. В постах компании@spring_aio есть несколько статей по новому функционалу.
Я мигрировал наш небольшой учебный демо-проект Spring Boot 3.x HATEOAS (ссылка на GitHub) на Spring Boot 4 и добавил API версионирование. В статье даю ссылки на новый функционал, описываю шаги миграции и код проекта. Буду рад читателям:)
Читать: https://habr.com/ru/articles/974962/?utm_campaign=974962
@a_cup_of_java | Другие наши каналы
Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты:
Тесты на дженериках. Параметризация AssertJ и сравнение Json через объекты
Контроллеры на дженериках: пишем кода в 3 раза меньше
Миграция Java Spring Boot на Kotlin
Работа с документами в Java
Как многие знают, недавно вышел Spring Boot 4 / Spring 7.0. В постах компании@spring_aio есть несколько статей по новому функционалу.
Я мигрировал наш небольшой учебный демо-проект Spring Boot 3.x HATEOAS (ссылка на GitHub) на Spring Boot 4 и добавил API версионирование. В статье даю ссылки на новый функционал, описываю шаги миграции и код проекта. Буду рад читателям:)
Читать: https://habr.com/ru/articles/974962/?utm_campaign=974962
@a_cup_of_java | Другие наши каналы
Как мы писали мониторинг доступности приложений в разных регионах Amvera
Всем привет! Иногда внутренний мониторинг не даёт полной картины, что все работает как надо. И полезно сделать внешний пинг и посмотреть, действительно ли нужный проект доступен.
Сегодня мы расскажем, как решали эту задачу для себя, и выложим код в Open Source, который вы сможете применить для простого мониторинга своих проектов. И да, мы знаем про существование специализированных сервисов для решения этой задачи, но всегда веселее написать свой скрипт.
Читать: https://habr.com/ru/companies/amvera/articles/975236/?utm_campaign=975236
@a_cup_of_java | Другие наши каналы
Всем привет! Иногда внутренний мониторинг не даёт полной картины, что все работает как надо. И полезно сделать внешний пинг и посмотреть, действительно ли нужный проект доступен.
Сегодня мы расскажем, как решали эту задачу для себя, и выложим код в Open Source, который вы сможете применить для простого мониторинга своих проектов. И да, мы знаем про существование специализированных сервисов для решения этой задачи, но всегда веселее написать свой скрипт.
Читать: https://habr.com/ru/companies/amvera/articles/975236/?utm_campaign=975236
@a_cup_of_java | Другие наши каналы
Hibernate Validator 9.1: самый мощный апгрейд за последние годы
Что, если ваш валидатор стал бы в 3 раза быстрее и потреблял бы вдвое меньше памяти — без единой правки бизнес-логики? Именно это случилось с Hibernate Validator 9.1: ушли тяжёлые коллекции, пришёл умный стек. Каскадная валидация теперь летает, даже при циклах в графе объектов.
Плюс бонус: меньше мусора в памяти, меньше аллокаций, быстрее интерполяция сообщений. В бенчмарках — просто космос. Все это – в новом переводе от команды Spring АйО.
Комментарий Поливаха Михаила: Несмотря на то, что с валидацией мы напрямую работаем не часто, имейте в виду, что Spring Boot и ваши
Читать: https://habr.com/ru/companies/spring_aio/articles/975422/?utm_campaign=975422
@a_cup_of_java | Другие наши каналы
Что, если ваш валидатор стал бы в 3 раза быстрее и потреблял бы вдвое меньше памяти — без единой правки бизнес-логики? Именно это случилось с Hibernate Validator 9.1: ушли тяжёлые коллекции, пришёл умный стек. Каскадная валидация теперь летает, даже при циклах в графе объектов.
Плюс бонус: меньше мусора в памяти, меньше аллокаций, быстрее интерполяция сообщений. В бенчмарках — просто космос. Все это – в новом переводе от команды Spring АйО.
Комментарий Поливаха Михаила: Несмотря на то, что с валидацией мы напрямую работаем не часто, имейте в виду, что Spring Boot и ваши
@RestController-ы под капотом всё равно используют hibernate-validator. Поэтому почитайте, не поленитесь.Читать: https://habr.com/ru/companies/spring_aio/articles/975422/?utm_campaign=975422
@a_cup_of_java | Другие наши каналы
👍1
Elasticsearch: реляционная база данных против поискового движка — Битва Титанов
В мире разработки часто возникает соблазн использовать знакомый инструмент для всех задач. Зачем изучать что-то новое, если есть проверенная реляционная база данных (РСУБД), такая как PostgreSQL или MySQL? Однако, когда дело доходит до реализации мощного, быстрого и релевантного поиска, этот подход терпит неудачу.
Elasticsearch — это не просто база данных, это распределенный поисковый и аналитический движок. В этой статье мы проведем детальное сравнение Elasticsearch и реляционных баз данных, разберемся в их архитектурных различиях и определим, когда каждый из инструментов становится титаном в своей нише.
Чтобы статья была максимально практико-ориентированной, мы рассмотрим, как с помощью Spring Boot быстро поднять приложение с интегрированным Elasticsearch и реализовать поиск, который «летает».
Читать: https://habr.com/ru/companies/otus/articles/975368/?utm_campaign=975368
@a_cup_of_java | Другие наши каналы
В мире разработки часто возникает соблазн использовать знакомый инструмент для всех задач. Зачем изучать что-то новое, если есть проверенная реляционная база данных (РСУБД), такая как PostgreSQL или MySQL? Однако, когда дело доходит до реализации мощного, быстрого и релевантного поиска, этот подход терпит неудачу.
Elasticsearch — это не просто база данных, это распределенный поисковый и аналитический движок. В этой статье мы проведем детальное сравнение Elasticsearch и реляционных баз данных, разберемся в их архитектурных различиях и определим, когда каждый из инструментов становится титаном в своей нише.
Чтобы статья была максимально практико-ориентированной, мы рассмотрим, как с помощью Spring Boot быстро поднять приложение с интегрированным Elasticsearch и реализовать поиск, который «летает».
Читать: https://habr.com/ru/companies/otus/articles/975368/?utm_campaign=975368
@a_cup_of_java | Другие наши каналы
Больше никаких велосипедов: готовый Spring Boot Starter для Telegram-ботов
После создания примерно десятка Telegram-ботов я понял, что архитектура, конфигурации и маршрутизация повторяются из проекта в проект. Готовых актуальных решений для Spring Boot я не нашёл. Поэтому разработал собственный Telegram Bot Spring Boot Starter: с прозрачным пайплайном, набором готовых компонентов и возможностью гибкой кастомизации.
В статье я расскажу, какие проблемы он решает, как устроен внутри, как его использовать и почему он оказался намного удобнее обычных self-made конфигураций.
Читать: https://habr.com/ru/articles/975552/?utm_campaign=975552
@a_cup_of_java | Другие наши каналы
После создания примерно десятка Telegram-ботов я понял, что архитектура, конфигурации и маршрутизация повторяются из проекта в проект. Готовых актуальных решений для Spring Boot я не нашёл. Поэтому разработал собственный Telegram Bot Spring Boot Starter: с прозрачным пайплайном, набором готовых компонентов и возможностью гибкой кастомизации.
В статье я расскажу, какие проблемы он решает, как устроен внутри, как его использовать и почему он оказался намного удобнее обычных self-made конфигураций.
Читать: https://habr.com/ru/articles/975552/?utm_campaign=975552
@a_cup_of_java | Другие наши каналы
✍3👍2
Fluent API. Часть 1 — это вообще о чём?
В то время как аналитики жарко спорят на тему станет ли основным языком программирования 6-го (видимо) поколения английский или все-таки китайский предлагаю поговорить немного на другую тему, но в том же направлении: как сделать код программы ближе к человеку?
Один из ответов на этот вопрос зародился еще в 70-х годах прошлого столетия как method chaining в рамках языка Smalltalk и, благодаря стараниям Эрика Эванса и Мартина Фаулера дошел до нас как Fluent API.
Читать: https://habr.com/ru/articles/968114/?utm_campaign=968114
@a_cup_of_java | Другие наши каналы
В то время как аналитики жарко спорят на тему станет ли основным языком программирования 6-го (видимо) поколения английский или все-таки китайский предлагаю поговорить немного на другую тему, но в том же направлении: как сделать код программы ближе к человеку?
Один из ответов на этот вопрос зародился еще в 70-х годах прошлого столетия как method chaining в рамках языка Smalltalk и, благодаря стараниям Эрика Эванса и Мартина Фаулера дошел до нас как Fluent API.
Читать: https://habr.com/ru/articles/968114/?utm_campaign=968114
@a_cup_of_java | Другие наши каналы
Fluent API. Часть 2 — а оно нам надо?
Продолжаем разговор о Fluent API. И теперь, после того как мы из предыдущей статьи (или/и личного опыта) узнали о том что это чудо из себя представляет давайте разберемся зачем оно нужно?
Читать: https://habr.com/ru/articles/968508/?utm_campaign=968508
@a_cup_of_java | Другие наши каналы
Продолжаем разговор о Fluent API. И теперь, после того как мы из предыдущей статьи (или/и личного опыта) узнали о том что это чудо из себя представляет давайте разберемся зачем оно нужно?
Читать: https://habr.com/ru/articles/968508/?utm_campaign=968508
@a_cup_of_java | Другие наши каналы
Fluent API. Часть 3 — что нам стоит Fluent API построить?
Теперь, после того как в предыдущей статье так красочно описаны преимущества Fluent API появилось опасение что все эти “плюшки” просто не могут быть бесплатными. Наверняка это очень дорого, или нет?
Читать: https://habr.com/ru/articles/973168/?utm_campaign=973168
@a_cup_of_java | Другие наши каналы
Теперь, после того как в предыдущей статье так красочно описаны преимущества Fluent API появилось опасение что все эти “плюшки” просто не могут быть бесплатными. Наверняка это очень дорого, или нет?
Читать: https://habr.com/ru/articles/973168/?utm_campaign=973168
@a_cup_of_java | Другие наши каналы
OpenIDE Pro: ответ на запросы бизнеса и разработчиков одновременно
Привет! Я Фёдор, CEO OpenIDE. За год с момента анонса OpenIDE выросла в стабильную, привычную и активно используемую IDE, которую всё чаще выбирают разработчики и компании. Мы создали её быстрой, предсказуемой и полностью доступной — и теперь готовы к следующему шагу.
В этой статье — что мы сделали, зачем мы это делаем и куда дальше движется OpenIDE.
Читать: https://habr.com/ru/companies/axiomjdk/articles/972938/?utm_campaign=972938
@a_cup_of_java | Другие наши каналы
Привет! Я Фёдор, CEO OpenIDE. За год с момента анонса OpenIDE выросла в стабильную, привычную и активно используемую IDE, которую всё чаще выбирают разработчики и компании. Мы создали её быстрой, предсказуемой и полностью доступной — и теперь готовы к следующему шагу.
В этой статье — что мы сделали, зачем мы это делаем и куда дальше движется OpenIDE.
Читать: https://habr.com/ru/companies/axiomjdk/articles/972938/?utm_campaign=972938
@a_cup_of_java | Другие наши каналы
Java Trends 2025: LTS, AI и модернизация
InfoQ: Java 25 стал LTS с улучшениями читаемости, производительности и новыми языковыми фичами. На JVM ускоряется внедрение AI (Spring AI, LangChain4j, Embabel, Koog). Растёт модернизация приложений, OpenRewrite и прогресс Jakarta EE 11/12. Новое в Java: модернизация, AI и Jakarta EE
В свежем обзоре отмечают рост спроса на модернизацию Java‑приложений: миграции со старых версий и Swing в веб, автоматизация обновлений, Jakarta EE 11/12, интеграция AI в JVM, Project Loom, GraalVM и возвращение к on‑prem. Что нового в Java: обзор InfoQ
Краткая подборка материалов InfoQ о Java: Jakarta EE, GraalVM, JDK, Spring AI и InfoQ Trends 2025, а также популярные статьи о Durable Functions в AWS, безопасности GenAI и задачах платформенной инженерии.
Подробности: https://www.infoq.com/articles/java-trends-report-2025/
#en
@a_cup_of_java | Другие наши каналы
InfoQ: Java 25 стал LTS с улучшениями читаемости, производительности и новыми языковыми фичами. На JVM ускоряется внедрение AI (Spring AI, LangChain4j, Embabel, Koog). Растёт модернизация приложений, OpenRewrite и прогресс Jakarta EE 11/12. Новое в Java: модернизация, AI и Jakarta EE
В свежем обзоре отмечают рост спроса на модернизацию Java‑приложений: миграции со старых версий и Swing в веб, автоматизация обновлений, Jakarta EE 11/12, интеграция AI в JVM, Project Loom, GraalVM и возвращение к on‑prem. Что нового в Java: обзор InfoQ
Краткая подборка материалов InfoQ о Java: Jakarta EE, GraalVM, JDK, Spring AI и InfoQ Trends 2025, а также популярные статьи о Durable Functions в AWS, безопасности GenAI и задачах платформенной инженерии.
Подробности: https://www.infoq.com/articles/java-trends-report-2025/
#en
@a_cup_of_java | Другие наши каналы
Forwarded from Типичный программист
Летим зимовать ✈️
Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.
Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!
Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:
😎 Типичный программист
🐸 Библиотека программиста
🟢 Ostrovok! Tech
Теперь осталось нажать на кнопку участия под этим постом и вы в игре!
Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.
Всем удачи!
Участников: 621
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (1 день)
Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке.
Поехать к морю или остаться среди снежных пейзажей — выбирайте сами!
Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже:
Теперь осталось нажать на кнопку участия под этим постом и вы в игре!
Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь.
Всем удачи!
Участников: 621
Призовых мест: 1
Дата розыгрыша: 19:00, 12.12.2025 MSK (1 день)
Please open Telegram to view this post
VIEW IN TELEGRAM
Как приручить iText8: превращаем HTML в PDF без седых волос
Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать договоры в PDF». Знакомо?
Я оказался в похожей ситуации год назад. Задача казалась тривиальной: взять HTML-шаблон счёта, подставить данные и получить красивый PDF. «Часа на два работы», — подумал я. Как ошибался...
Читать: https://habr.com/ru/articles/975930/?utm_campaign=975930
@a_cup_of_java | Другие наши каналы
Представьте ситуацию: пятница, вечер, до релиза осталось два дня. Заказчик внезапно вспоминает, что «было бы неплохо генерировать договоры в PDF». Знакомо?
Я оказался в похожей ситуации год назад. Задача казалась тривиальной: взять HTML-шаблон счёта, подставить данные и получить красивый PDF. «Часа на два работы», — подумал я. Как ошибался...
Читать: https://habr.com/ru/articles/975930/?utm_campaign=975930
@a_cup_of_java | Другие наши каналы
Структура кода в папке Domain по DDD
В слое Domain 90% проектов с тактическим DDD забыли о самом главном. Сегодня мы вспомним то о чем забыли или узнаем то чего не знали.
Читать: https://habr.com/ru/articles/975936/?utm_campaign=975936
@a_cup_of_java | Другие наши каналы
В слое Domain 90% проектов с тактическим DDD забыли о самом главном. Сегодня мы вспомним то о чем забыли или узнаем то чего не знали.
Читать: https://habr.com/ru/articles/975936/?utm_campaign=975936
@a_cup_of_java | Другие наши каналы