Обзор Java-конференции JPoint 2016

22–23 апреля 2016 года в четвёртый раз прошла конференция JPoint, в т.ч. уже в третий раз подряд в Москве. В конференции приняли участие более 1000 Java-разработчиков, на 4 параллельных треках было прочитано 48 докладов. Далее приводятся подробности о прошедшей конференции.

68771202541e4038b72742e8173288d7.jpg
Из интересных событий, произошедших с октябрьской конференции Joker 2015, можно назвать:

  • анонсы этой конференции и JPoint Student Day;
  • анонсы видео топ-10 докладов JPoint 2015 (раз, два);
  • новые интервью Алексея Фёдорова из серии «Без слайдов» (например, с Романом Елизаровым);
  • конференцию JBreak, прошедшую в Новосибирске;
  • выход первой версии языка Kotlin (со встречами в Питере и Москве);
  • выпуск 105 подкаста Разбор полётов, тоже оказавший определённое влияние на конференцию.


Холл гостиницы «Radisson Славянская», традиционного места проведения JPoint.

1477eb92a22647aa83bb9f7684307d5b.jpg

Робот Федя, который (как можно предположить) дистанционно управлялся и озвучивался человеком-оператором. Забавно было наблюдать за общением робота с детьми, не понимающими, что говорят с человеком.

Стенды-будки компаний-спонсоров: JetBrains, Одноклассники

1bddaddfeacb410abeb91f8639d25ad6.jpg

Deutsche Bank, Сбербанк-Технологии и Luxoft.

a3a1eb58c4544288a7e7d93ecae056b2.jpg

Открытие конференции


Приветственное слово от организаторов и спонсоров (являющихся иногда одновременно и спикерами). Алексей Фёдоров, Руслан Черемин, Андрей Паньгин, Олег Анастасьев, Андрей Дмитриев.

1fd7eb6e99e04fe48f1b44067759d4b1.jpg

Новости высокой моды, или В поисках серебряной пули
Барух Садогурский, Виктор Гамов, Кирилл Толкачев, Антон Архипов, Алексей Абашев, Антон Черноусов

35baf01ff7c541d0ac7915283a08e4e9.jpg

Ведущие популярного подкаста Разбор полётов в формате keynote представили многие из докладов конференции. Слева направо: Виктор Гамов, Алексей Абашев, Барух Садогурский, Кирилл Толкачёв, Антон Черноусов (Голодный) и Антон Архипов.

76caf92d6c404c52ba7579c282545063.jpg

Доклады


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

Hotspot и AOT: Пришло время компилировать
Дмитрий Чуйко

09a819324d784a179ee5d3d337be05ef.jpg

Дмитрий рассказал о появлении (пока только экспериментальной) возможности в Java 9 статической (AOT, ahead-of-time) компиляции Java-кода. Пока достижения скромны — компиляция возможна только в исполняемый код под Linux и размер получаемых файлов велик (около 200 Мб). Интерес к Linux вызван доминированием именно на этой платформе серверных Java-приложений.

Неочевидные Дженерики
Александр Маторин

efe9f7bcc1fb42dba16db541ad0e30c9.jpg

На доклад Александра пошёл, т.к. ранее слушал его доклад «Рефакторинг в функциональном стиле» на Joker 2015. В ожиданиях не разочаровался. Повествование велось про дженерики (Generics) и затронуло достаточно глубокие темы, например:

  • во что компилируется при этом код;
  • bridge-методы;
  • правила стирания (erasure) типов;
  • heap pollution;
  • примеры кода, который должен компилироваться и не компилируется, и наоборот.


Чувствуется знание темы, материал хорошо подан и смотрится интересно.

Escape Analysis и скаляризация
Руслан Черемин

0bb730e79a8745c4accb63b37ab30d44.jpg

Очень экспрессивный (см. среднюю фотографию выше) и интригующий доклад про

  • Escape Analysis (статический анализ области достижимости объекта) и
  • скаляризацию (проецирование полей в локальные переменные).


Ранее присутствовал на одной из конференций на его докладе про Disruptor (при аншлаге в зале) и был знаком с его блогом. Желающих посмотреть и этот доклад было так много, что Алексей Шипилёв был вынужден сидеть на полу.

Счастливое присутствие в зале Тагира Валеева позволило даже исправить озвученную Русланом проблему (о чём Тагир сегодня написал).

Баттл инструментов для сборки — Maven vs Gradle vs SBT
Антон Архипов, Евгений Борисов, Барух Садогурский

8c6ff30217e44975a3cc293dcba3ca38.jpg

Для сравнения инструментов сборки были выбраны доминирующие Maven (защитник — Евгений Борисов), Gradle (естественно, Барух) и, в качестве экзотики, SBT (Антон Архипов).

В игровой форме иллюстрировались преимущества и недостатки каждого из инструментов в различных случаях — создание заготовки проекта, управление зависимостями и т.д. Наиболее интересной мне показалась поддержка BOM (Bill of materials), т.е. описание совместимых версий зависимостей для чего-либо (например, для Spring).

Живо, зрелищно. Заинтересовали крышки ноутбуков Жени, Баруха, Антона (см. правый снимок). Аскетичные крышки ноутбуков Жени и Антона, изобилующая наклейками крышка ноутбука Баруха.

Если не Unsafe, то кто: восход VarHandles
Алексей Шипилёв

411663ebfc2b46a9872d7f9875b7a550.jpg

Тяжёлое испытание выпало на долю Алексея (см. самую правую фотографию) — неработающий на протяжении 23 первых минут проектор. Железная выдержка, стойкость (шутка) и оптимизм позволили Лёше сгладить возникшие технические проблемы.

В докладе рассказывалось про легальную замену sun.misc.Unsafe, которая вскоре будет предложена и рекомендована — VarHandles. За оставшиеся 27 минут Алексей традиционно образно, выразительно и аргументированно рассказал про VarHandles. Удивление вызвало, что производительность VarHandles может обеспечена даже выше, чем у Unsafe.

Воспитай свою обезьяну
Максим Дорофеев

c5e179faa2c84f55865d89189ab62090.jpg

Первый (хронологически) нетехнический доклад конференции. Бизнес-тренер, консультант, автор проекта «Много сделал!» в занимательной форме попытался донести идеи о путях к личной эффективности.

По моим наблюдениям, многим даже понравилось. Интересно, осталась ли бы презентация столь выразительной при исключении определённых (почти и совсем не цензурных) слов из неё…

«Разбор Полётов» Live!

de1d54960d3d4e4eb4345e5ed1164d6c.jpg

Вечеринка в клубе Stereo Hall с участием ведущих подкаста Разбор полётов. С записью получившегося можно ознакомиться здесь.

Внимающие слушатели (слево направо): Тагир Валеев, Алексей Шипилёв (с вручённой футболкой), Сергей Куксенко (смотрящий прямо в объектив), Никита Сальников-Тарновский. Алексей Шипилёв уже в футболке на сцене.

e409f7f831204f0e93e54ff2a41edbc9.jpg

Человек и инстинкты: насколько мы запрограммированы?
Евгения Тимонова

58e1d79c8e304e9f93441eeeb564a7a7.jpg

Весьма познавательный и любопытный доклад от ведущей видеоблога Всё как у зверей Евгении Тимоновой. В доходчивой для технической аудитории форме рассказано про инстинкты, научные исследования в этой области и приведены доступные для понимания примеры.

Хороший выбор темы, доклада и докладчицы. Интересные вопросы от зрителей и интересные ответы на них.

JCache и распределенные кэши: беспредел!
Виктор Гамов

a1c670c3c2cc4fc5bc61e623e6cd9aed.jpg

Доклад Виктора был посвящён распределённому кэшированию вообще и стандарту JCache (JSR 107) в частности.

Были показаны «иконы Шипилёва» (второй снимок), которым нужно молиться при проблемах с производительностью приложения, но при отсутствии Алексея рядом. Различие репликации и шардинга на примере овцы. Примеры видов архитектуры и кода для различных случаев. Достаточно живенько и образно.

Поддержка Java 8 в Excelsior JET
Никита Липский

43748fd86d44437c9cac38caa28880d3.jpg

Совершенно несправедливо проигнорированный многими доклад, весьма хардкорный и хорошо подходящий данной конференции. Посвящён техническим подробностям, тонкостям, проблемам при добавлении поддержки Java 8 в детище новосибирской компании Excelsior — AOT-компилятор Excelsior JET.

В достаточно представительной презентации рассказано, как обеспечивалась поддержка нововведений Java 8:

  • лямбда-выражений;
  • default-методов;
  • Stream API, Time API;
  • Type annotahons, Parameter names;
  • Stream API, Time API;
  • не входящих в стандарт Nashorn и JavaFX;
  • Compact profiles.


Полезным оказались пояснения Никиты про AOT-компиляцию от Oracle — в каком состоянии готовности сейчас находится и какие цели в данный момент преследуются.

Странности Stream API
Тагир Валеев

dc841b8c62a348238e184a045b5d1cbd.jpg

Первый доклад из докладов в записи, который я только что посмотрел. На конференции доклад проходил в большом зале, заинтересовав большое количество людей.

Тагир, будучи экспертом и гуру Stream API, наглядно показывал его особенности и странности. Представленные примеры иллюстрировали различные характеристики Stream API (sized, subsized, sorted, orderered и т. д.). Некоторые вещи выглядели, честно говоря, парадоксально.

Java 8 Puzzlers
Барух Садогурский, Евгений Борисов, Тагир Валеев

494502e2252748bd8dba32eb98d3e3ad.jpg

Команда паззлеров из Жени и Баруха, усиленная Тагиром, загадывала загадки о странностях Java 8. Доклад получился достойным продолжением представленных на предыдущих конференциях Groovy- и Spring Puzzlers.

«Яйца, яйца ещё!» (ключевая реплика Тагира первых паззлов)

Solving the full stack problem, live!
Барух Садогурский, Кирилл Толкачёв

9977866cec1b4d72be2182e3758ad12c.jpg

Кирилл (live coding) и Барух (постановка задачи, комментарии возможных способов решения и получившегося) представили «CI as a Service за 50 минут». Кирилл мастерски кодировал, Барух остроумно комментировал, получилось неплохо.

Убери за собой!
Никита Сальников-Тарновский

bfe1bac49e7e4e83adfd94f305a1dd89.jpg

Рассказывалось про различные возможные способы гарантированного освобождения ресурсов. Каждый из представленных вариантов иллюстрировался примерами кода. Выводом доклада (презентация, к сожалению, пока недоступна) является использование (в зависимости от случая) или лямбды, или класса Cleaner.

Seven lessons developers can learn from film
Tim Berglund

e4b79e28b3254fbfac378d60c400dfb7.jpg

В докладе Тим проводит аналогии между кинопроизводством и IT-индустрией. Показывает на примере производства фильмов, какие уроки можно извлечь и какие похожие приёмы использовать. Доклад выразителен, оригинален, лаконичен.

Закрытие конференции


Ставшие уже традиционными при закрытии выход на сцену организаторов…

8271ca54594d47f0b58e3f5e1512b727.jpg

… затем волонтёров…

050e4caf1bcb4e60ad1c07e63cc48911.jpg

… и спикеров конференции.

10cf8923034e423a9dc703f8b2a73045.jpg

Итоги


Почти идеально организованная конференция. Обед со сменой блюд официантами выше всяких похвал. Свидетелем технических проблем я был лишь на докладе Алексея Шипилёва (считаем, что форс-мажор).

Подбор сильных докладчиков и сильных докладов. Внимательные и доброжелательные организаторы. Хорошие умные зрители.

Артефакты конференции, в том числе шоколадка компании Excelsior (спасибо Никите Липскому за подарок).

2bda857d1d9d42068bb01ecdaaa3d29b.jpg

А как провели эти два дня Вы, уважаемый участник конференции?

© Habrahabr.ru