company_banner

Анонс Java-конференции JPoint 2018: JDK 9, высокие нагрузки и производительность JVM



    Не успели еще улечься впечатления от Joker 2017, а мы уже готовим JPoint 2018. Точнее, мы начали готовить его уже пару месяцев назад, так что сегодня уже есть что анонсировать! Как видите, Java-конференции мы делаем без пауз.

    Давайте посмотрим, что у нас есть:

    1. Название: Java-конференция JPoint 2018.
    2. Дата и место проведения: 6-7 апреля 2018 года, Москва, Конгресс-центр ЦМТ.
    3. 10 докладчиков уже подтвердили свое участие.
    4. Call For Papers.
    5. Выставка и стенды.
    6. Несколько тренингов.

    Все подробности — под катом.

    Программа конференции


    Здесь беспокоиться не о чем: только 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 Münster (Германия), 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!
    JUG Ru Group
    600.45
    Конференции для программистов и сочувствующих. 18+
    Share post

    Comments 27

      +10

      Отлично работаете, правильных людей приглашаете! Надо будет съездить послушать ;-)

        0
        del
          +6
          Приезжай! Если доклад будет лень готовить, цены все уже на сайте;)

          P.S. Шутка, конечно, тебя всегда рады видеть в качестве гостя! Но еще больше рады видеть в качестве докладчика
            +1

            Да куда он денется, паззлеры никто не отменял.

              +3

              Вот денусь куда-нибудь и будете знать! Останетесь без паззлеров!

          +12

          Кстати, забыл спросить: а чо так дорого-то?!

            +4
            Мой любимый вопрос!
            +7
            Аж 2 доклада про миграцию на java 9 модули. А есть реальные люди, не разработчики JVM, которые это собираются делать? Интересно было бы узнать причины.
              0
              А есть реальные люди, не разработчики JVM, которые это собираются делать?
              Да, почему нет?

              Интересно было бы узнать причины.
              Для десктопных приложений — явный выигрыш из-за уменьшения образа JRE в составе дистрибутива.

              Для веб-приложений сложнее — гипотетически лучшая структура приложений. Из серверов приложений с Java 9 пока находится только WebSphere Liberty, кто-то напишет ещё?
                +2
                Это немного не то. Я не про использование возможностей java 9 импортировать модули, но при этом свой проект держать в дефолтном/одном модуле ( это достаточно просто как раз ). Я про то чтобы реально попилить свой продукт на модули. Это как раз требует достаточно больших вложений как в разработку, так и в последующее сопровождение.

                «гипотетически лучшая структура приложений» вряд ли может быть оправданием возросшей сложности разработки проекта, да и сейчас для веб приложений конкретно для этого модно использовать микросервисные архитектуры ;-)
                  0
                  Это немного не то. Я не про использование возможностей java 9 создавать классы, но при этом свой проект держать в дефолтном/одном классе ( это достаточно просто как раз ). Я про то чтобы реально попилить свой продукт на классы. Это как раз требует достаточно больших вложений как в разработку, так и в последующее сопровождение.

                  «гипотетически лучшая структура приложений» вряд ли может быть оправданием возросшей сложности разработки проекта, да и сейчас для веб приложений конкретно для этого модно использовать микросервисные архитектуры ;-)
                    0
                    вряд ли может быть оправданием возросшей сложности разработки проекта


                    На самом деле там все ну очень просто. Сейчас основная проблема — это отсутствие модулей в сложных фреймворках/библиотеках. Хотя все топовые уже наверное переехали (кроме нетти :)).
                  +2
                  Да. Мы уже переехали. 25 серверов. Даже статья есть.
                    +3
                    Спасибо за статью. На вопрос про причины модуляризации приложения она правда не отвечает, но опыт перехода на java 9 полезный.
                    В сухом остатке, как я понял:
                    1. полностью перевести проект не удалось, проект собирается в 2 артефакта — для java 9 и для java 8. Забавно, что при этом он попал на слайд #WorksFineWithJava9
                    2. По пути заюзали замечательный Unsafe хак от apangin, который должен знать каждый
                    3. Переведенные сервера проиграли в CPU 4%, выиграли в памяти занимаемой хипом 15%. Тут правда в статье не указано что за сборщик был в 8 и в 9, как то настраивали их или же эффект достигнут потому, что в 9 какие то дефолты поменялись.

                      +1
                      Да. Вы все правильно поняли.

                      1. Это связано с тем, что пользователи часто наши сервера запускают на распбери. Почему-то 9-ки для ARM 32 нету (все новые распбери уже 64). То ли не успели, то ли не собираются. Я не вникал. Поэтому для таких пользователей собираем для java 8. Это совершенно не обязательно, так как нам за это не платят. Это лишь жест доброй воли с нашей стороны.
                      2. Временный хак чтобы скрыть варнинг (который добавили, чтобы обеспечить лучшую обратную совместимость), опять же — совершенно не обязательный. В следующих версиях джавы этот варниг удалят и все будет работать точно так же.
                      3. Сейчас и в 8-ке и в 9-ке используем ParallelGC. В 9-ке G1 — дефолтный, но с ним у нас проблемы (эти самые 4% CPU, веротяно связаны с малым объемом памяти). Все настройки дефолтные.

                      Основная причина переезда — было свободное время и хотелось быть на острие :). Ну и конечно хотелось снизить потребление памяти. Так как мы ранимся на очень дешевых серверах.
                    +2

                    Библиотеки потихоньку мигрируют, потому что они библиотеки.

                    +2

                    Не многовато ли англоязычных докладчиков?


                    Ну и птичка у вас слишком разжирела. Joker Personal early bird — 14 000, JPoint Personal early bird — 20 000.
                    Кормите её поменьше, избыточный вес вреден для здоровья.


                    В прошлый раз на JPoint у нас на выставке было 10 стендов: Сбербанк-Технологии, Одноклассники, JetBrains, GridGain, Альфа-Лаборатория и многие другие.

                    Не припоминаю стенда JetBrains на прошлогоднем JPoint, он точно был?

                      0
                      Не многовато ли англоязычных докладчиков?

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

                      Не припоминаю стенда JetBrains на прошлогоднем JPoint, он точно был?

                      В списке спонсоров прошлого года они числятся… Можно конечно фотоотчет посмотреть.

                      Ну и птичка у вас слишком разжирела. Joker Personal early bird — 14 000, JPoint Personal early bird — 20 000. Кормите её поменьше, избыточный вес вреден для здоровья.

                      Этот вопрос уже обсудили в телеграм-чатиках Joker и JPoint
                        +2

                        От них был баннер :)

                          +2

                          Да, просто баннер без людей, без свага :(

                        +2
                        В прошлом году меня заминусовали за это, но повторю: на конференции, которая позиционирует себя как международная, должно быть столько докладов на английском, чтобы человек не русскоязычный хотя бы подумал о том, чтобы посетить её.
                          +2
                          Что я могу сказать, ваш критерий оценки имеет право на жизнь.

                          Но мы считаем иначе.
                            0
                            Конференция с международным составом докладчиков — тоже международная.
                            99% не русскоязычных посетителей отвалятся на этапе «Ой, а туда виза нужна? Лучше на JUG в соседний город съезжу».
                              +1
                              В Европе масса прекрасных конференций. Европейцам виза туда не нужна. На Joker и JPoint ездят либо те, кто знает русский (как правило, рожденные в СССР), либо совсем упоротые нерусскоязычные чуваки (человек по 5-10 каждый раз находится).
                                0
                                либо совсем упоротые нерусскоязычные чуваки (человек по 5-10 каждый раз находится).

                                Такое правда бывает? Я шокирован.
                                А что они в отзывах пишут?

                                  +2
                                  Ничего особенного. Кто-то ничего не пишет, поскольку не знает русского. Кто-то использует Google Translate и пишет отзывы на английском. Никаких особых проблем нет :)
                              +3
                              Вставлю свои 5 копеек.

                              Конференция делается, прежде всего, для тех, кто знает русский лучше, чем английский. Отсюда и такой баланс. Однако, если вы посмотрите, например, расписание JPoint 2017, вы обнаружите, что во всех слотах, кроме кейноутов первого дня и 12:15 второго дня есть англоязычные доклады. То есть, в 9 из 12.

                              На Joker 2017 в большинстве слотов — вообще по два англоязычных доклада. Только два последних слота (2 из 12) не имеют англоязычных докладов. По планам в предпоследнем слоте должен был выступить Sasha Goldshtein на английском, но он не смог прилететь. То есть, должен был быть только один слот без англоязычных докладов — закрывающий кейноут Milfgard'а.

                          Only users with full accounts can post comments. Log in, please.