Как стать автором
Обновить
64.03
JUG Ru Group
Конференции для Senior-разработчиков

Что на радаре в Java: программа JPoint 2025

Время на прочтение12 мин
Количество просмотров2.6K

Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.

А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?

Во-первых, представляем вам программу. Можете изучить краткие описания докладов и понять, интересны ли они вам.

А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!


Содержание

  • Кейноуты

  • Базы данных

  • Инструменты

  • JVM

  • Дизайн и архитектура

  • DevEx

  • Kotlin и другие языки программирования

  • Производительность

  • JDK

  • Инфраструктура

  • Обработка данных

  • NoSpring

  • PostgreSQL

  • Геймдев

  • Cassandra

  • Тестирование

  • Другое

Кейноуты

До того, как переходить к основным докладам, конференцию откроет выступление от Программного комитета. А в самом конце, когда после двух дней Java в голову уже перестанет влезать хардкор, мероприятие закроет более «лайтовое» выступление от известного многим человека:

Математика, физика и музыка

Александр Пушной

Математика, физика и гармония в музыке тесно связаны. Все мы знаем, что существует семь нот. Это с точки зрения лирика. А с точки зрения физика — их больше. Об этом, а также о том, как музыку можно объяснить через цифры, формулы и частоты, и расскажет Александр.


Базы данных

OSIV выключить нельзя включить

Фёдор Сазонов

Spring АйО

Илья Сазонов

Spring АйО

Вам расскажут о настройке Spring под названием open-in-view. Она включена по умолчанию, по общепринятому мнению ее надо выключать. А вот точно надо? Может, можно как-то по другому? Или нет? Выключить нельзя включить. Приходите, расставим запятые вместе!


Как мы разгрузили БД Camunda, не потеряв ни строчки истории

Виктор Вербицкий

Т-Банк

Движок Camunda может записывать подробную историю прохождения процессов, которая очень полезна для поддержки пользователей. Но это очень дорого для БД. Доклад о том, как максимально эффективно вынести историю в отдельную БД, освободив основное приложение для непосредственного обслуживания клиентов.


Инструменты

Эффективное версионирование REST API: Spring MVC, JAX-RS и Annotations, Mixins

Адай Игибаев

Koronatech

Адай расскажет, как в Koronatech справляются с версионированием REST API в условиях высоких нагрузок и частых релизов (каждые две недели). Вы узнаете, как избежать дублирования кода, сохранить обратную совместимость и упростить жизнь разработчику.


Путеводитель по профилированию приложений на JVM

Владимир Плизга

Tibbo Systems

Во время доклада выясним плюсы и минусы разных инструментов для профилирования. Рассмотрим особенности профилирования, из-за которых появились разные инструменты, а затем на примере трех популярных профайлеров выясним, в чем их сильные и слабые стороны, в каких случаях выбирать тот или иной и как выжать из каждого максимум. Попутно пройдемся по граблям, на которые можно наступить, выбрав не тот инструмент или применив его неверно.


Генерируем код. Зачем и как?

Александр Богданов

Positive Technologies

Александр расскажет про разные аспекты кодогенерации (ака метапрограммирования), такие как:

  • генерация кода из датамоделей (contract first на примере Protobuf, ANTLR);

  • генерация байт-кода (ускорение программы — на примере Janino);

  • аннотейшн процессинг (упрощение кода программы — на примере Lombok).

Он покажет, как работать с Java/KotlinPoet. Приведет пример решения боевой задачи с использованием KotlinPoet.


JVM

Анализ поверхности атаки для Java-приложений

Павел Довгалюк

ИСП РАН

Для поиска поверхности атаки для приложений необходимо отслеживать потоки данных в них. Большинство существующих инструментов отслеживания потоков данных основаны на виртуальных машинах. Это приводит к тому, что при анализе Java-приложений можно наблюдать лишь за выполнением процессорных инструкций, но не байт-кода.

В то же время для динамического анализа необходимо определять, какие функции пользовательского кода при этом выполняются. В докладе рассмотрим способ извлечения имен и параметров Java-функций, выполняющихся в виртуальной машине под управлением QEMU.


Дизайн и архитектура

Легковесный. Распределенный. Масштабируемый. Таск-процессор на Java

Андрей Черковский

VK / RuStore

Многие стандартные фреймворки для распределенного таск-процессинга преследуют задачу быть «универсальными» — с одной стороны, это плюс. С другой стороны, это приводит к излишнему использованию внешних зависимостей и сложных конфигураций и не подходит, когда хочешь легковесное Java-only решение для повседневных задач: от запуска в кластере по расписанию до сложных задач стриминг-процессинга.

В докладе поговорим, как в RuStore написали свое решение. Обсудим готовые фреймворки, которые рассматривали по пути. Посмотрим на основные проблемы, которые встречались во время эксплуатации фреймворка, и вам расскажут, как их решали. Обсудим use cases использования. В конце напишем собственный workflow и запустим его.


Управление нагрузкой и приоритизацией клиентов в Spring Cloud Gateway

Александр Головня

Natera

В этом докладе мы рассмотрим кастомный механизм ограничения нагрузки с приоритизацией клиентов, реализованный на основе Spring Cloud Gateway. Обсудим ограничения стандартных решений и увидим, как кастомный фильтр с распределенным управлением пропускной способностью в Redis обеспечивает приоритетный доступ клиентам и перераспределяет неиспользуемые ресурсы.


Модульный монолит: как построить гибкое Java-приложение с hot reload

Юрий Ревич

Paidora

Ключевая тема — «горячая» перезагрузка (hot reload) модулей без перезапуска приложения, позволяющая обновлять функциональность на лету и минимизируя downtime. Для понимания этого механизма разберем основы Java ClassLoaders, принципы их работы и видимости классов.


DevEx

Обновляться больно. Обновляйтесь

Пётр Портнов

Ozon

Все мы когда-нибудь обновляли что-то в проекте и обязательно вместе с этим отваливалось что-то в совершенно неожиданном месте. Несмотря на всю комфортность и доброжелательность Java-экосистемы, такие ситуации не редкость, и отдельного масла в огонь подливает раздельная компиляция.

В докладе мы посмотрим не только на такие проблемы, но и на различные пути их решения — как со стороны пользователей библиотек, так и со стороны разработчиков, стремящихся и клиентов не поломать, и функциональность добавить. Пройдем через все препятствия на пути к (почти) универсально совместимым API и выучим несколько необычных приемов по обеспечению как исходной, так и бинарной обратной совместимости. А главное, попробуем доказать, что основной способ избежать боли при обновлениях — это обновляться, делая этот процесс системным.


Симфония GigaIDE: от идеи до готовой платформы

Владимир Ярославский

Сбер

Обсудим новую платформу для разработки от Сбера — GigaIDE.

Поговорим о том, почему Сбер решил создать собственную IDE, когда существует IDEA Community, и какие между ними есть отличия. Рассмотрим планы по дальнейшему развитию платформы, а также функциональность, вошедшую в релизную версию.


От коммита до релиза: версионирование Java-приложений

Андрей Кулешов

Яндекс

Этот доклад — ваш альманах и настольная книга, если вы хотите организовать автоматическое версионирование и упростить выпуск релизов в своем проекте.

Мы разберем популярные стратегии работы с Git, рассмотрим плюсы и минусы разных видов GitFlow и выберем тот, который лучше всего подойдет именно вам. Поговорим о видах релизов и версий, исследуем существующие плагины для автоматического версионирования (от Reckon до Netflix-стека, от jgitver до VerCraft и других) в Gradle и Maven, разберемся, как они работают под капотом, и подберем наиболее подходящий инструмент. Кроме того, заглянем в мир джавовых утилит для работы с Git, освежим знания о его внутреннем устройстве и посмотрим, как можно эффективно автоматизировать релизный процесс.


IDE снаружи и внутри: от разбора механизмов к сборке решений

Александр Шустанов

Amplicode

Разработчики делятся на два типа: одни не могут жить без своей любимой IDE, а другие уверены, что «все нужно делать руками». Первых спикер познакомит с внутренним устройством их любимой среды, а вторых — попробует переубедить, показав, как инструменты повышают эффективность работы.


Kotlin и другие языки программирования

Лучшее из двух миров: Kotlin Coroutines и gRPC для эффективного взаимодействия между сервисами

Бахром Валижонов

Райффайзен Банк

Бахром расскажет о возможностях использования Kotlin с gRPC для эффективного решения различных задач в проекте, включая асинхронность с помощью корутин, Channels и Flows, способы взаимодействия с сервером (Server Streaming, Client Streaming), а также преимущества Туре Safety и Type-Safe Builders в Kotlin.


Kotlin и контекстно-ориентированное мышление

Александр Нозик

Центр научного программирования

Еще одно <?>-ориентированное программирование. На этот раз контекстно. Александр расскажет, что такое контекстно-ориентированное программирование, как оно работает (да!) в разных языках. Разумеется, обсудим контекстные ресиверы и контекстные параметры в Kotlin (параметры выходят в 2.2) и зачем они нужны.


ART Memory Management

Роман Артемьев

Syntacore

ART — Android RunTime — виртуальная машина в ОС Android, в которой исполняются пользовательские приложения. ART можно считать альтернативной реализацией VM для языка Java, в котором есть свои интересные особенности, в частности механизм управления памятью и сборкой мусора. К сожалению, эта тема все еще слабо освещена, поэтому в своем рассказе Роман предлагает погрузиться в Java-мир, отличный от мейнстримного OpenJDK, и узнать, как бывает еще.


Производительность

JMH: вводный курс по микробенчмаркам

Григорий Кошелев

Контур

Доклад для тех, кто хочет начать использовать JMH для написания микробенчмарков или углубить свои знания этого инструмента: вы познакомитесь с базовыми принципами создания микробенчмарков и основными возможностями JMH.


Как избавиться от рекурсии и исправить глупую ошибку в Google

Максим Сидоров

SberDevices

Максим расскажет про исследование различных подходов к оптимизации рекурсии. Рассмотрит и сравнит их между собой, чтобы получить наглядные цифры. Кроме того, осветит оптимизацию хвостовой рекурсии, рекурсии при обходе деревьев, любой рекурсии через DeepRecursiveFunction. Расскажет, как во время исследования обнаружил и исправил глупую ошибку в коде Google, связанную c попыткой оптимизации рекурсии.


JDK

Java 24. Горячие JEP'ы

18 марта состоится релиз Java 24, и, по традиции JPoint/Joker, мы детально разберем все ключевые изменения. Какие нововведения ждут разработчиков? Какие JEP окажут влияние на повседневное написание кода? Разберемся, какие улучшения внесены в язык и платформу, на что стоит обратить внимание в первую очередь и какие изменения подготовят нас к будущей юбилейной LTS-версии Java. Вместе посмотрим на эволюцию языка и обсудим, как эти новшества могут повлиять на наш код и какие инструменты помогут быстрее адаптироваться к изменениям. Присоединяйтесь, чтобы быть в курсе актуальных трендов!


Как мы ускорили компилятор Java (javac) вдвое

Дмитрий Соломенников

Axiom JDK

Скорость компиляции Java в силу целого ряда причин невысокая, особенно если сравнивать с некоторыми другими языками. В Axiom JDK поставили и успешно решили задачу ускорения компиляции, добившись двукратного прироста скорости, а также заметного снижения потребления памяти и CPU при компиляции.


Эволюция моделей памяти

Александр Ланцов

Мир Plat.Form

Цель доклада — помочь лучше разобраться в ключевых аспектах моделей памяти и показать, как они эволюционировали до сегодняшнего дня. Будет полезно всем, кто интересуется вопросами многопоточности и конкурентности.


Инфраструктура

Как мы Wasm для Istio на JVM писали

Дмитрий Чуб

Альфа-Банк

Дмитрий опишет преимущества использования сайдкаров в Istio, а также положительные стороны JVM-технологий. В Альфа-Банке попытались совместить эти две технологии для решения проблемы OAuth2 аутентификации.

Спикер кратко расскажет о развитии Istio/Envoy, Wasm, Kotlin/Wasm. Объяснит, почему выбор пал на эти технологии, когда уже есть готовые мейнстримные решения. Приведет перечень граблей, на которые в команде наступили и которые вы можете обойти (ну или наступить на них тоже, если хочется).


AI Assistants под капотом: Redis, Redis, Redis

Владислав Носивской

Yandex Cloud

В Yandex Cloud разрабатывают AI Assistants API — инструмент для создания AI-ассистентов. С точки зрения требований сервис интересен необходимостью соблюдать низкий оверхед при вызове генеративной модели. Во время разработки для минимизации задержки решили по минимуму заходить на диски за счет использования Redis.

В докладе разберем архитектуру решения, заменим SQS и Kafka на Redis. Наступим на несколько граблей с Redisson и срежем все усилия по минимизации задержки из-за нюансов деплоя.


Optimising your Inner Development Loop with Spring Boot 3.1+ and Docker

Brian Matthews

Buralo Technologies

У версии Spring Boot 3.1 и выше появилась новая фича, которая называется development-time services (сервисы для оптимизации времени разработки) и помогает оптимизировать цикл внутренней разработки. Во время сессии лайвкодинга спикер покажет вам, как использовать эту новую фичу с Docker Compose и Testcontainers. Сначала — как она работает из коробки, затем — как интегрировать новые типы контейнеров, применяя абстракцию ConnectionDetails, которая была добавлена в Spring Boot 3.1. Сделаем это, используя дженерик-контейнер и поддержку пользовательских модулей в Testcontainers.


Обработка данных

Data retrieval на пальцах

Алексей Рагозин

Этот доклад — о механизмах выполнения запросов на чтение в различных современных хранилищах данных: от классических реляционных СУБД до экзотических колоночных и распределенных. Разберемся, какие виды индексов существуют и как они используются в различных движках. Доклад должен помочь разработчикам лучше ориентироваться в многообразии современных систем хранения данных.


Что может пойти не так с exactly-once обработкой сообщений в Kafka?

Андрей Серебрянский

Яндекс

В докладе разберем:

  • как выстрелить себе в ногу, используя голые транзакции Kafka;

  • как с этим может помочь Kafka Streams;

  • чем может быть полезен Apache Flink, если мы умеем «готовить» предыдущие пункты. Все это сопроводят примерами кода на Java, позволяющими ровно один раз вычитать и записать данные в Kafka.


NoSpring

Jakarta Data. Что это означает для Java-сообщества?

Михаил Поливаха

Сбер

Не так давно вышла новая спецификация в мире работы с данными — Jakarta Data. Как можно понять из названия, эта спецификация из проекта Jakarta EE. Казалось бы, кого это волнует, если бы не Hibernate, который решил, что теперь реализует две спецификации — Jakarta Persistence API (aka JPA) и Jakarta Data. В Сбере работают с Hibernate чаще через Spring Data, которая имеет проблемы с реализацией этой спецификации. И что теперь делать?

Что же будет происходить дальше и как мы будем с этим жить — ответим на эти вопросы в докладе. Детально разберем, почему Spring Data не может реализовать спецификацию, и обсудим, можно ли в теории использовать Jakarta Data в проектах Spring.


О Quarkus Extension в трех действиях

Максим Сенокосов

Точка

В докладе Максим поделится опытом создания расширений, а также продемонстрирует некоторые возможности Quarkus Extension Framework в нескольких кейсах, которые потенциально могут случиться в жизни Quarkus-разработчика.


PostgreSQL

Миграция с IBM WebSphere+Oracle JDK+Oracle DB на Libercat+Axiom JDK+PostgreSQL

Константин Алексеев

ПСБ

В ПСБ в 2024 году проходили активности по переходу на российское ПО. Константин расскажет, как в ПСБ планировали и реализовывали этот переход для большой высоконагруженной системы с enterprise-решения от IBM и Oracle на российские решения от Axiom и Postgres. Кроме этого, как разгружали СУБД путем перевода неструктурированных данных из нее в объектное хранилище на базе Ceph.


Многопоточная вставка данных в БД: от скорости к атомарности. Spring + PostgreSQL

Дмитрий Фатов

Газпромбанк

В докладе Дмитрий расскажет, как можно ускорить вставку данных при помощи распараллеливания этого процесса в Spring, а также как сохранить атомарность всей операции. Затронем batch update в Spring и PostgreSQL, обсудим, почему обновление — это тяжелая операция и как можно ускориться в текущем технологическом стеке. Кроме того, спикер рассмотрит другие подходы к сохранению атомарности и покажет различия между ними в бенчмарках.


Геймдев

libGDX. Делаем игру

Алексей Швардаков

Т-Банк

Обзорный доклад про возможности создания игр на платформе Java с примерами. Бегло рассмотрим:

  • базовые концепции: игровой цикл, deltaTime, шейдеры, паттерн проектирования Entity-Component-System и т. п.;

  • существующие игровые движки и фреймворки на Java/Kotlin;

  • проблематику портирования игр на разные платформы и консоли;

  • фреймворк libGDX и набор доступного инструментария.

Будет интересно тем, кто желает расширить свой кругозор и посмотреть на задачи и подходы вне энтерпрайз-разработки.


Легаси. Оптимизации. Обфускация. Героическая борьба с Minecraft

Дмитрий Фролов

Т-Банк

Многие даже не подозревают, что Minecraft — это не просто игра, а целая экосистема, которая развивает навыки работы с Java, сетевыми протоколами и байт-кодом. В рамках этой сферы создаются библиотеки и фреймворки, которые могут быть полезны и в энтерпрайз-разработке. Например, опыт работы с Netty или миксинами можно применить в высоконагруженных системах или при модификации легаси-кода. Так что Minecraft становится не только площадкой для творчества, но и стартовой точкой для профессионального роста разработчиков.


Cassandra

Cassandra: почему мой запрос тормозит?

Дмитрий Константинов

Вы используете Apache Cassandra и случилось невероятное: какой-то, а может, и все запросы в базу у вас начали тормозить... Без паники, в этом докладе мы попробуем понять, что делать в таком случае, какие инструменты можно использовать для того, чтобы локализовать и вылечить проблему, а также разберем типичные случаи и примеры из жизни.


Из Elasticsearch в Cassandra

Ренат Шайгарданов

Т-Банк

Ренат расскажет, как в Т-Банке переводили свой сервис с хранилища Elasticsearch на Cassandra: что нужно знать, прежде чем принимать решение о переходе, какие есть особенности и ограничения, как переехать без даунтайма и не затронуть пользователей. Спикер поделится деталями реализации и проблемами, с которыми столкнулись.


Тестирование

Проверка тестов в бою: мутационное тестирование с Pitest

Александр Шевляков

Техплатформа Екома и Райдтеха Яндекса

В докладе разберем, как внедрить мутационное тестирование в реальный проект и избежать распространенных проблем. Поговорим о том, как настроить Pitest для анализа только измененного кода в PR, чтобы ускорить процесс, и как справляться с ложноположительными срабатываниями. Обсудим, что делать, если стандартных мутаторов не хватает, и как писать свои. Александр покажет, как интегрировать мутационное тестирование в CI/CD и настроить его так, чтобы команда действительно им пользовалась.


Другое

Lightning Talks

Lightning talks — это отличный формат, чтобы динамично обсудить тему и найти единомышленников. Вас ждут пятнадцатиминутные доклады на профессиональные или околопрофессиональные темы и живые обсуждения. Давно хотели попробовать себя в роли спикера? Вам не терпится поделиться с миром идеями или кейсами из рабочей практики? Посмотрели выступления JPoint и чувствуете, что можете добавить к докладам что-то свое? Тогда подавайте заявку заранее по ссылке или записывайтесь на выступление прямо на площадке!


Виртуальные потоки: новые возможности для I/O bound микросервисов

Иван Попов

РСХБ.Цифра

Новая фича «виртуальные потоки», появившаяся в Java 21, призвана повысить эффективность многопоточного кода. Но в чем заключается ее инновационность и в каких случаях она может привести к значительной оптимизации и ускорению кода? Об этом расскажет Иван.


Заключение

Конференция пройдёт в Москве — но для всех, кто не готов добраться до московской площадки, доступно и онлайн-участие. Остальная информация о конференции и билеты — на сайте. Если остались вопросы, смело задавайте в комментариях.

А мы напоследок ещё раз напомним, что у нас к вам тоже есть вопрос об используемых технологиях — так что смело проходите опрос.

Теги:
Хабы:
Всего голосов 8: ↑7 и ↓1+8
Комментарии0

Публикации

Информация

Сайт
jugru.org
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Алексей Федоров