Не успели еще улечься впечатления от Joker 2017, а мы уже готовим JPoint 2018. Точнее, мы начали готовить его уже пару месяцев назад, так что сегодня уже есть что анонсировать! Как видите, Java-конференции мы делаем без пауз.
Давайте посмотрим, что у нас есть:
- Название: Java-конференция JPoint 2018.
- Дата и место проведения: 6-7 апреля 2018 года, Москва, Конгресс-центр ЦМТ.
- 10 докладчиков уже подтвердили свое участие.
- Call For Papers.
- Выставка и стенды.
- Несколько тренингов.
Все подробности — под катом.
Программа конференции
Здесь беспокоиться не о чем: только Java, только хардкор! Плотность докладов не снизится, все те же два дня и четыре трека.
Будем говорить про кишочки и производительность JVM, concurrency, распределенные и высоконагруженные системы, Java 8/9/10 и отборные фреймворки и инструменты (Spring, Spark, BPF, да много чего еще! Дальше видно будет). А пока давайте посмотрим на те доклады, которые уже вошли в программу:
Sanhong Li, Alibaba — Extreme Scaling with Alibaba JDK (AJDK)
Последние пару лет ко мне на каждой нашей Java-конференции подходят участники, друзья и партнеры и задают один и тот же вопрос: «А чего у вас Alibaba нет?» Теперь есть. Да не просто девелопер одного из крупнейших в мире проектов, а лид JVM-направления. То, что надо для JPoint. Встречайте Sanhong Li — человека с опытом работы в IBM, опенсорс-контрибьютора OpenJDK, а теперь ведущего разработчика Alibaba JDK, кастомной версии OpenJDK.
11 ноября Alibaba снова побили собственный рекорд пропускной способности, достигнув проведения 325,000 транзакций в секунду (на 60% больше, чем в прошлом году!), почти все из которых проводились в десятках тысяч Java-сервисов на сотне тысяч серверов. В этом докладе Sanhong расскажет о том, как они кастомизировали OpenJDK под свои задачи, а именно:
- О разработке собственного, без-GC, механизма аллокации объектов, позволяющего создавать объекты в так называемых «скрытых регионах» и работать с ними как с нормальными Java-объектами без GC-оверхеда.
- Об интеграции корутин в JVM для реализации асинхронных алгоритмов.
- О создании кастомной эффективной real-time диагностики для своей JVM.
Кроме того, вы узнаете, как именно ребята из Alibaba, опираясь на аналитику нагрузок на свои сервисы, пришли к выводу, что именно такие фичи им нужны. В общем, доклад будет полезен независимо от того, насколько высокие у вас нагрузки.
Два доклада от Juergen Hoeller, Pivotal
Вы наверняка знаете Юргена, сооснователя Spring Framework open source project, а если не знаете, то самое время познакомиться — с 2003 года именно он занимается релиз-менеджментом и руководит core-проектом Spring Framework (уже 14 лет, в голове не укладывается). На JPoint 2018 у него будет два доклада:
- Spring Framework 5: feature highlights and hidden gems
Ключевой фичей Spring Framework 5.0 стала поддержка функционального и реактивного подходов к разработке, однако в новой версии есть еще много менее заметных и «раскрученных» штук.
В доклад войдет детальный обзор как главных фич, так и тех, которые Юрген лично для себя выделяет как любимые и наиболее полезные. Кроме того, вы сможете узнать, что нового будет в грядущем 5.1 релизе.
- Spring Framework 5.0 on JDK 9
На JPoint 2018 Юрген планирует рассказать про то, что станет насущным вопросом для многих Java-разработчиков. Вы, конечно же, сразу подумали про нее, долгожданную — миграцию на JDK 9. Именно поэтому Юрген и раскроет технические аспекты того, как пятая версия Spring Framework работает не только с «восьмеркой», но и с «девяткой». В этом докладе Юрген покажет, с какими сложностями в обеспечении совместимости с JDK 9 сталкиваются разработчики фреймворков. Кроме того, здесь вы найдете конкретные и практические рекомендации по обновлению Spring-проектов на JDK 9, приправленные обзором преимуществ и «жертв», связанных с обновлением.
Stephane Nicoll, Pivotal — Reactive Web Applications with Spring Boot 2.0
Новое поколение приложений Spring Boot уже здесь: с версией 2.0 вы можете использовать Spring WebFlux reactive web framework. В сессии, где все будет сдобрено лайвкодингом, вы увидите, как рождается WebFlux-приложение, и поймете, как максимально эффективно использовать фичи Boot: Actuator, Developer Tools и другие.
WebFlux позволяет писать реактивные веб-компоненты и поддерживает новые HTTP-рантаймы, вроде Netty, поэтому у вас теперь есть выбор: писать по старинке в стиле Spring MVC или попробовать новый функциональный подход, который называется «WebFlux.fn».
Sander Mak, Luminis Technologies — Migrating to Java 9 modules
Java 9 представляет новую систему модулей. Необязательно ее применять, но при ее использовании открывается много возможностей. Насколько сложно перенести существующий код, чтобы использовать новую систему модулей? Перенос существующей кодовой базы из classpath в любую модульную систему может оказаться непростой задачей. Даже есть вы еще не собираетесь использовать модули, запуск вашего приложения на classpath Java 9 может вызвать новые трудности. В данном докладе будут предложены решения подобных проблем.
Чтобы сделать миграцию проще, Java 9 предоставляет несколько фич, включая автоматические и анонимные модули. В докладе мы разберём примеры миграции реального кода, основанного на приложении Spring/Hibernate. Рассмотрим общие проблемы, с которыми можно столкнуться во время переноса. Вы получите дельные советы и понимание системы модулей и особенностей переноса. Доклад послужит отличной подготовкой для начала миграции вашего кода.
Rabea Gransberger, MEKOS — Refactoring your code to Java 9 modules
Java 9 позволяет разбивать код на модули и давать доступ только к конкретным пакетам, таким образом скрывая публичные классы от чужих глаз (и рук… и кода!). Кроме того, разбивая код на модули, вы увеличиваете его переиспользуемость, упрощаете поддержку вашего решения и снижаете темпы роста технического долга.
Rabea покажет несколько способов разбиения существующего монолитного решения на несколько модулей. Выберем инструменты, которые позволят понять, какие именно части можно отделять, а чтобы все прошло безболезненно, используем пару трюков в рефакторинге. В конце посмотрим на некоторые сложные примеры и применим паттерны, которые позволят с ними справиться.
Gerrit Grunwald, Canoo Engineering AG — JavaFX on JDK 9
Если на Joker 2017 докладов, посвященных «девятке», было не так и много, то на JPoint 2018 с этим точно проблем не будет! Четвертый доклад о JDK 9 в нашей подборке представит Gerrit Grunwald.
Блогер, основатель Java User Group Munster (Германия), JavaOne Rockstar и Java Champion — вклад Геррита трудно переоценить. Он расскажет о том, как система модулей JDK 9 повлияла на разработку и работу JavaFX-приложений: что нового появилось в JavaFX 9? Что вы получите, что потеряете, перейдя на JDK 9?
Christopher Batey, Lightbend — Building scalable, back pressured services with Akka
Что значит «асинхронная back pressured-программа»? Почему это так важно для масштабируемых сервисов? В данном докладе попробуем найти ответы на эти вопросы.
Затронем:
- thread per request vs. асинхронные сервисы;
- что такое «back pressure» и как с ним работать вплоть до сетевого уровня;
- как работать с «back pressure», используя Akka HTTP и Akka Streams;
- как это соотносится с другими инструментами асинхронного программирования (CompletableFutures, Observables и т.д.).
Если останется время, также покажем, как сетевое приложение отправляет back pressure через протокол прикладного уровня, протокол TCP и прямо в приложение клиента.
Роман elizarov Елизаров, JetBrains — Kotlin Coroutines
Доклад для тех, кто любит Kotlin и кишочки: Роман в подробностях расскажет и покажет, как проектировались и реализовывались корутины в Kotlin.
Будет много байткода и бенчмарков, которые будут отвечать на такие вопросы, как «зачем нужны корутины»; «в чем разница между CPS и CSP»; «что происходит, когда запускаются корутины, и какой оверхед это дает»; «как вообще все это реализовано на JVM».
Douglas Hawkins, Azul Systems — ReadyNow — an «AOT» with profiling for Java
Думаю, нет смысла объяснять разницу между JIT и AOT компиляцией, все мы ее прекрасно знаем. JIT хорошо оптимизируют, но долго разогреваются, а AOT-компиляция не позволяет добраться до многих неоптимальных кусков кода.
В докладе речь пойдет о технологии ReadyNow, ведущим разработчиком которой является Дуглас. ReadyNow пытается скомбинировать преимущества обоих типов компиляторов, избежав их недостатков. Здесь стоит подчеркнуть, что Дуглас — разработчик, а не евангелист, так что в процессе доклада можно будет заглянуть под капот технологии и попытаться понять, как вот это вот все работает. Посмотрим, получается ли (и за счет чего) у ReadyNow ускорить прогрев JIT-а и избежать деоптимизаций, а также попробуем понять, как технология позволяет Java АОТ-компиляторам преодолевать «врожденные» болезни.
Sasha goldshtn Goldshtein, Sela Group — Linux container performance tools for JVM applications
«Контейнерная революция» уже произошла — все вокруг пакуют, контейнеризуют и разворачивают свои Java-приложения. Впрочем, как и любая абстракция, контейнеры приносят не только радость и счастье, но и проблемы, связанные с мониторингом, профилированием и трейсингом ваших приложений. Проблема в том, что несмотря на то, что контейнер — это просто процесс с парой изолирующих фишек и ограничением по ресурсам, многие performance-инструменты, прекрасно работающие под Linux, с контейнерами приходится использовать нестандартно. Некоторые вообще начинают врать и просто отчитываться на основе данных хоста, а не контейнера, в котором они запущены.
Саша в своем докладе расскажет, как решать наиболее распространенные перформанс-проблемы с контейнерами:
- как понимать уровень потребления ресурсов внутри контейнера;
- проблемы с потреблением процессорного времени или лимитами на ресурс CPU;
- проблемы с задержками дисковой или файловой системы;
- межконтейнерный доступ с базе данных.
Для этого у Саши подготовлен арсенал инструментов: perf, async-profiler, flame graphs и BCC, и еще несколько других открытых и коммерческих инструментов, на которые можно положиться.
Call For Papers
Если вы считаете, что люди, перечисленные выше, недостаточно хороши, и вы можете сделать доклад лучше — подавайте заявку, Call For Papers открыт!
Впрочем, есть и другой сценарий: если у вас есть интересный продакшн, и вы хотите выступить на одной сцене с ребятами из Oracle, Pivotal и JetBrains — тоже подавайте доклад. Важно понимать, что, если вы сомневаетесь или думаете, что вам нечего рассказать, лучше подайте заявку и посоветуйтесь с нашим Программным комитетом, они оценят, посмотрят и расскажут. На самом деле очень часто то, что вам кажется тривиальным и рутинным, для других может оказаться открытием или best practice. Так что не стесняйтесь!
Время подготовиться есть — наш Программный комитет поможет сделать из вашей идеи и ваших наработок отменный доклад: посоветует, каких деталей добавить, где убрать лишнее, как презентацию довести до совершенства и, конечно, оценит вас на 1-2 тренировках. Я лично видел несколько примеров, когда докладчик, совершенно сырой и неготовый, за пару месяцев работы с нашим Программным комитетом готовил и полировал доклад так, что потом входил в топ JPoint.
Дискуссионные зоны
Наверняка вам знакомо чувство, когда вы поднимаете руку, чтобы задать вопрос, а ведущий вдруг объявляет: «Осталось время для одного вопроса», – и конечно, выбор падает не на вас, а в перерыве спикер скрывается за дверьми спикерских комнат.
Если за прошедший год вы хоть раз были у нас на конференциях, то вы знаете о том, что у нас так не бывает. Каждый доклад сопровождается дискуссионной зоной. От этого формата в восторге все: и участники, и докладчики, — можно спокойно задать конкретные вопросы в специально отведенном месте, у спикера есть возможность конструктивно и обстоятельно ответить на любой вопрос, каким бы узким он ни был, не думая о тайминге или о том, интересно ли это все слушателям.
Именно дискуссионные зоны отвечают на вопрос «зачем ходить на конференции, когда можно и в интернете все узнать». Все просто: чтобы лично задать ваш конкретный вопрос. Что ж, на JPoint для этого созданы все условия: в длительных перерывах трек-оунеры приведут спикера в выделенное пространство с доской для иллюстраций, сидячими местами и возможностью схватить чашку кофе. Теперь ни один вопрос не утонет в тайминге.
Online-трансляция
Все доклады конференции можно смотреть онлайн, купив соответствующий билет. Впрочем, у наших трансляций есть пара фишек, о которых стоит рассказать:
- Видео в 1440р — дополнительное пространство используется для одновременного отображения спикера и FullHD слайдов (или экрана ноутбука для live coding) на одном экране;
- Возможность смотреть доклады из любого зала, у вас столько же возможностей, что и у участников, приехавших лично!
- К тому же, если у вас возникнет вопрос, вы сможете задать его докладчику через Telegram-чат конференции и сразу же получить на него ответ;
- Улучшенное качество звука, серьезно переработана система звукозаписи;
- В перерывах между докладами, когда спикеры и участники на площадке удаляются в дискуссионные зоны, зрителям онлайн-трансляции мы показываем репортажи и интервью со спикерами и спонсорами от phillennium и olegchir. Эти ребята знают свое дело, можете убедиться сами на примере Joker 2017;
- Решено много мелких технических проблем, которые большинство даже не заметило, но они там были. В целом, ощущение от просмотра трансляции должно быть лучше.
Выставка и стенды
В прошлый раз на JPoint у нас на выставке было 10 стендов: Сбербанк-Технологии, Одноклассники, JetBrains, GridGain, Альфа-Лаборатория и многие другие. На Joker к нам пришло 24 компании, если темп сохранится, то придется через пару лет делать конференцию в Крокусе. :)
В этот раз спонсоров будет много, и у них будет интересно: почти все компании готовят разные интерактивные штуки, начиная от задачек с призами, заканчивая играми, управляемыми силой мысли, или VR-аттракционами. Кроме того, на каждом из стендов можно узнать, чем живут компании, позаниматься фаллометрией (у кого офис круче) и просто поговорить за жизнь с ребятами из крупнейших компаний IT-мира.
Тренинги
С этого года совместно с конференцией мы делаем тренинги, на Joker 2017 мы пригласили Евгения EvgenyBorisov Борисова и Кирилла tolkkv Толкачева с двумя тренингами по Spring и Николая xpinjection Алименкова. В этот раз мы расширяем «ассортимент» и ведем переговоры еще с несколькими тренерами.
Когда будут подробности, мы вам сообщим. Оставайтесь на связи.
Купить билеты
Регистрация открыта, сейчас действуют ранние билеты. Если вы уже были на JPoint и знаете, что это такое — смело регистрируйтесь! А если не уверены, подождите более высоких цен и окончательной программы. Или посмотрите наш трехминутный ролик и попробуйте понять, хотите ли вы окунуться в эту атмосферу:
Хотя я всегда говорю, что программу приятнее ждать с билетом в кармане.
До встречи на JPoint 2018!
Комментарии (27)
m0nstermind
15.11.2017 13:41Аж 2 доклада про миграцию на java 9 модули. А есть реальные люди, не разработчики JVM, которые это собираются делать? Интересно было бы узнать причины.
dbelob
15.11.2017 22:47А есть реальные люди, не разработчики JVM, которые это собираются делать?
Да, почему нет?
Интересно было бы узнать причины.
Для десктопных приложений — явный выигрыш из-за уменьшения образа JRE в составе дистрибутива.
Для веб-приложений сложнее — гипотетически лучшая структура приложений. Из серверов приложений с Java 9 пока находится только WebSphere Liberty, кто-то напишет ещё?m0nstermind
16.11.2017 10:18Это немного не то. Я не про использование возможностей java 9 импортировать модули, но при этом свой проект держать в дефолтном/одном модуле ( это достаточно просто как раз ). Я про то чтобы реально попилить свой продукт на модули. Это как раз требует достаточно больших вложений как в разработку, так и в последующее сопровождение.
«гипотетически лучшая структура приложений» вряд ли может быть оправданием возросшей сложности разработки проекта, да и сейчас для веб приложений конкретно для этого модно использовать микросервисные архитектуры ;-)olegchir
16.11.2017 18:19Это немного не то. Я не про использование возможностей java 9 создавать классы, но при этом свой проект держать в дефолтном/одном классе ( это достаточно просто как раз ). Я про то чтобы реально попилить свой продукт на классы. Это как раз требует достаточно больших вложений как в разработку, так и в последующее сопровождение.
«гипотетически лучшая структура приложений» вряд ли может быть оправданием возросшей сложности разработки проекта, да и сейчас для веб приложений конкретно для этого модно использовать микросервисные архитектуры ;-)
doom369
19.11.2017 14:22вряд ли может быть оправданием возросшей сложности разработки проекта
На самом деле там все ну очень просто. Сейчас основная проблема — это отсутствие модулей в сложных фреймворках/библиотеках. Хотя все топовые уже наверное переехали (кроме нетти :)).
doom369
16.11.2017 02:35Да. Мы уже переехали. 25 серверов. Даже статья есть.
m0nstermind
16.11.2017 10:25+1Спасибо за статью. На вопрос про причины модуляризации приложения она правда не отвечает, но опыт перехода на java 9 полезный.
В сухом остатке, как я понял:
1. полностью перевести проект не удалось, проект собирается в 2 артефакта — для java 9 и для java 8. Забавно, что при этом он попал на слайд #WorksFineWithJava9
2. По пути заюзали замечательный Unsafe хак от apangin, который должен знать каждый
3. Переведенные сервера проиграли в CPU 4%, выиграли в памяти занимаемой хипом 15%. Тут правда в статье не указано что за сборщик был в 8 и в 9, как то настраивали их или же эффект достигнут потому, что в 9 какие то дефолты поменялись.
doom369
19.11.2017 14:09Да. Вы все правильно поняли.
1. Это связано с тем, что пользователи часто наши сервера запускают на распбери. Почему-то 9-ки для ARM 32 нету (все новые распбери уже 64). То ли не успели, то ли не собираются. Я не вникал. Поэтому для таких пользователей собираем для java 8. Это совершенно не обязательно, так как нам за это не платят. Это лишь жест доброй воли с нашей стороны.
2. Временный хак чтобы скрыть варнинг (который добавили, чтобы обеспечить лучшую обратную совместимость), опять же — совершенно не обязательный. В следующих версиях джавы этот варниг удалят и все будет работать точно так же.
3. Сейчас и в 8-ке и в 9-ке используем ParallelGC. В 9-ке G1 — дефолтный, но с ним у нас проблемы (эти самые 4% CPU, веротяно связаны с малым объемом памяти). Все настройки дефолтные.
Основная причина переезда — было свободное время и хотелось быть на острие :). Ну и конечно хотелось снизить потребление памяти. Так как мы ранимся на очень дешевых серверах.
Maccimo
15.11.2017 17:45Не многовато ли англоязычных докладчиков?
Ну и птичка у вас слишком разжирела. Joker Personal early bird — 14 000, JPoint Personal early bird — 20 000.
Кормите её поменьше, избыточный вес вреден для здоровья.
В прошлый раз на JPoint у нас на выставке было 10 стендов: Сбербанк-Технологии, Одноклассники, JetBrains, GridGain, Альфа-Лаборатория и многие другие.
Не припоминаю стенда JetBrains на прошлогоднем JPoint, он точно был?
ARG89 Автор
15.11.2017 18:14Не многовато ли англоязычных докладчиков?
Русскоязычные доклады будут подтягиваться позднее, их скорее всего в итоге будет не менее половины.
Не припоминаю стенда JetBrains на прошлогоднем JPoint, он точно был?
В списке спонсоров прошлого года они числятся… Можно конечно фотоотчет посмотреть.
Ну и птичка у вас слишком разжирела. Joker Personal early bird — 14 000, JPoint Personal early bird — 20 000. Кормите её поменьше, избыточный вес вреден для здоровья.
Этот вопрос уже обсудили в телеграм-чатиках Joker и JPoint
LEQADA
16.11.2017 10:59В прошлом году меня заминусовали за это, но повторю: на конференции, которая позиционирует себя как международная, должно быть столько докладов на английском, чтобы человек не русскоязычный хотя бы подумал о том, чтобы посетить её.
ARG89 Автор
16.11.2017 11:00Что я могу сказать, ваш критерий оценки имеет право на жизнь.
Но мы считаем иначе.
Maccimo
16.11.2017 15:52Конференция с международным составом докладчиков — тоже международная.
99% не русскоязычных посетителей отвалятся на этапе «Ой, а туда виза нужна? Лучше на JUG в соседний город съезжу».23derevo
16.11.2017 23:31В Европе масса прекрасных конференций. Европейцам виза туда не нужна. На Joker и JPoint ездят либо те, кто знает русский (как правило, рожденные в СССР), либо совсем упоротые нерусскоязычные чуваки (человек по 5-10 каждый раз находится).
Maccimo
16.11.2017 23:56либо совсем упоротые нерусскоязычные чуваки (человек по 5-10 каждый раз находится).
Такое правда бывает? Я шокирован.
А что они в отзывах пишут?23derevo
17.11.2017 00:43+1Ничего особенного. Кто-то ничего не пишет, поскольку не знает русского. Кто-то использует Google Translate и пишет отзывы на английском. Никаких особых проблем нет :)
23derevo
16.11.2017 23:42Вставлю свои 5 копеек.
Конференция делается, прежде всего, для тех, кто знает русский лучше, чем английский. Отсюда и такой баланс. Однако, если вы посмотрите, например, расписание JPoint 2017, вы обнаружите, что во всех слотах, кроме кейноутов первого дня и 12:15 второго дня есть англоязычные доклады. То есть, в 9 из 12.
На Joker 2017 в большинстве слотов — вообще по два англоязычных доклада. Только два последних слота (2 из 12) не имеют англоязычных докладов. По планам в предпоследнем слоте должен был выступить Sasha Goldshtein на английском, но он не смог прилететь. То есть, должен был быть только один слот без англоязычных докладов — закрывающий кейноут Milfgard'а.
lany
Отлично работаете, правильных людей приглашаете! Надо будет съездить послушать ;-)
MaxJoint
del
ARG89 Автор
Приезжай! Если доклад будет лень готовить, цены все уже на сайте;)
P.S. Шутка, конечно, тебя всегда рады видеть в качестве гостя! Но еще больше рады видеть в качестве докладчика
jbaruch
Да куда он денется, паззлеры никто не отменял.
lany
Вот денусь куда-нибудь и будете знать! Останетесь без паззлеров!