- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Доклады

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Seven lessons developers can learn from film
Tim Berglund

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

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

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

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

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

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

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

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

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

Итоги

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

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

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

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

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

Автор: dbelob

Источник [22]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/maven/119840

Ссылки в тексте:

[1] JPoint: http://javapoint.ru

[2] раз: https://habrahabr.ru/company/jugru/blog/274307/

[3] два: https://habrahabr.ru/company/jugru/blog/275885/

[4] Романом Елизаровым: https://habrahabr.ru/company/jugru/blog/279819/

[5] JBreak: http://jbreak.ru

[6] Питере: https://habrahabr.ru/company/jugru/blog/278647/

[7] Москве: https://habrahabr.ru/post/279667/

[8] выпуск 105: http://razbor-poletov.com/2016/03/episode-105.html

[9] Разбор полётов: http://razbor-poletov.com/

[10] Разбор полётов: http://razbor-poletov.com

[11] Generics: https://docs.oracle.com/javase/tutorial/java/generics/

[12] его блогом: http://dev.cheremin.info/

[13] был вынужден сидеть на полу: https://twitter.com/alkovictor/status/723483050160562176

[14] сегодня написал: https://habrahabr.ru/post/209876/

[15] SBT: http://www.scala-sbt.org

[16] для Spring: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#overview-maven-bom

[17] VarHandles: http://openjdk.java.net/jeps/193

[18] здесь: http://razbor-poletov.com/2016/04/episode-108.html

[19] Всё как у зверей: https://vsekakuzverei.com

[20] стандарту JCache (JSR 107): https://jcp.org/en/jsr/detail?id=107

[21] Excelsior JET: http://www.excelsiorjet.com

[22] Источник: https://habrahabr.ru/post/282810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best