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

Обзор (и видеозаписи) лучших докладов Java-конференции JPoint 2016: BigData, кишки JVM и паззлеры

Обзор (и видеозаписи) лучших докладов Java-конференции JPoint 2016: BigData, кишки JVM и паззлеры - 1 [1]

В апреле в Москве прошла JPoint 2016 – крупнейшая Java-конференция в России. Напомню, что на конференции было 50 докладов, которые шли в 4 треках в течение двух дней. В сентябре мы открыли доступ [2] к видео для наших читателей, однако руки всё никак не доходили до публикации топ-10 докладов на Хабре.

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

Конечно, какие-то доклады оказываются лучше, какие хуже. Но в этом посте речь пойдет о 10 жемчужинах, лучших докладах, оценка каждого из которых оказалах выше 4.6 по пятибалльной шкале. Ссылка на остальные доклады по катом, так что вам будет чем заняться до Нового Года:)


Евгений EvgenyBorisov [3] Борисов — Мифы о Spark или может ли пользоваться Spark обычный Java-разработчик

Доклад о том, каково это – работать на Scala-фреймворке под Java, – и почему стоит это делать, в свое время вызвавший бугурт в комментариях [4]. В докладе рассмотрены структура и принципы работы Spark, преимущества Java 8, которые делают работу со Spark удобной и лакончиной.

Захватывающий доклад, начинающийся с философии и наполненный демками является редким исключением, заслуженно занявшим первую строчку. Если вы пишете на Java и работаете с BigData – must see:


Тагир lany [5] Валеев — Странности Stream API

Доклад для тех, кто уже работает со Stream API и кого не пугает слово spliterator. Основное внимание уделено странному поведению стримов в области производительности, жора памяти и параллелизма. Тагир постарался не заострять внимания на микроэффектах, а поговорить о проблемах, решение которых позволяет ускорить ваш код в 2-10 раз.

В докладе подробно разбирается, какие баги есть в Java 8 Stream API и что будет исправлено в Java 9. Также даются решения некоторых нетривиальных задач, в том числе при помощи библиотеки StreamEx (автором которой по невероятному стечению обстоятельств является сам Тагир).


Алексей Шипилёв — The Lord of the Strings: Two Scours

Доклад, вошедший в ТОП-3 всех наших Java-конференций (Joker/JPoint/JBreak). Доклад помогает понять, насколько сильно отличается разработка JDK от обычных проектов. В рамках выступления Алексей показывает две фичи во все еще грядущем JDK 9, направленные на оптимизацию строк: Compact Strings [6], сжимающие строки с однобайтовыми символами, что улучшает футпринт и даже общую производительность; и Indify String Concat [7], использующий магию invokedynamic для конкатенации строк, позволяющий подкручивать реализацию конкатенации без рекомпиляции программ.


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

Единственный нетехнический доклад, получивший высокую оценку аудитории. Впрочем, это же JPoint, у нас даже нетехнические доклады оказываются низкоуровневыми. Вы узнаете, что за «обезьяна» живет в мозгу [8] каждого из нас и каким образом она заставляет нас смотреть еще одну серию « Stranger Things» вместо того, чтобы работать или читать полезную книгу.

Этот доклад о том, как приспособиться к себе и окружающим нас людям, чтобы успевать выполнять возложенные на вас задачи и при этом уходить с работы вовремя. Возможно, залог его успеха в том, что многие разработчики – недисциплинированные энтузиасты, работающие по ночам и постоянно испытывающие нехватку часов в сутках.


Сергей Walrus [9] Куксенко — Quantum Performance Effects II: Beyond the Core

JPoint и Joker – конференции, которые пробуждают в обычных, казалось бы, разработчиках тягу к «железным» оптимизациям. Именно доклады Сергея позволяют утолить жажду крови и хардкора: ниже видеозапись второй части доклада, в котором речь идет о том, как «маленькие-маленькие хреновинки внутри архитектуры современных процессоров влияют на производительность ваших приложений». Первая часть [10], посвященная тому что происходит в ядре процессора.

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


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

Как известно, Java-разработчики любят sun.misc.unsafe, а разработчики JDK не любят, когда люди пишут unsafe код. Почему? Потому что «Java is exceptionally safe. Except Unsafe which is unsafe. But it is an exception».

Обзор (и видеозаписи) лучших докладов Java-конференции JPoint 2016: BigData, кишки JVM и паззлеры - 2

Этот любовный треугольник привел к тому, что в Java 9 доступа к ансейф не будет, а на смену ему придет VarHandles – новый API, сравнимый по скорости с Unsafe, но более безопасный. В докладе Алексей живо с примерами и бенчмарками рассказывает о причинах появления нового API, о его возможностях, ограничениях и скорости работы (которая иногда даже выше, чем unsafe):


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

Ну, вы знаете. Puzzlers + Java 8 = win. Кортеж из трех Java-звезд не мог не войти в ТОП, особенно с паззлерами. Часовая подборка из смешных и весьма непростых загадок по Java 8: идеально подходит для проверки остроты ума, а также для того, чтобы понять, при чем здесь яйца.

Смотреть можно дома, с кружкой чая/кофе/пива заходит лучше сериалов:


Руслан cheremin [12] Черемин — Escape Analysis и скаляризация

Окей, back to hardcore с Русланом Череминым о тонкостях работы Escape Analysis, позволяющем понять, можно ли без последствий произвести Scalar Replacement (аллоцировать объект прямо на стеке и не тратить время на работу со ссылками и сборку мусора). Доклад начинается с азов, но возможно перед просмотром вы захотите ознакомиться с блогом Руслана [13], в котором на эту тему есть много интересного.

В докладе на примерах рассматриваются сильные и слабые стороны алгоритмов escape analysis применяемые в Java JIT:


Роман Гребенников — Страх и ненависть в распределённых системах

Бывало у вас такое, что ваш кластер внезапно теряет и портит данные, страдает раздвоением мозга [8] и живет своей насыщенной жизнью против вашей воли? Этот доклад проясняет:

  • Какие проблемы встречаются при создании распределенных систем;
  • Как можно налажать и допустить типичные ошибки при проектировании;
  • Матчасть о целостности, CAP-теореме, линеаризации, консенсусе и CRDT;
  • Как все эти знания применять на практике и какие бывают инструменты для облегчения нелегкой жизни разработчика распределенных систем.

Доклад о том, как сделать распределенную систему, не прострелив себе ногу: типичные ошибки и способы их решения, а также немного лайв-кодинга на Scala с Docker'ом с потерей данных в прямом эфире:


Олег m0nstermind [14] Анастасьев — Распределенные системы в Одноклассниках

Доклад о том, как работает одна из наиболее высконагруженных систем в России, обрабатывающая до 500 000 (полумиллиона, да) запросов в секунду на 8000 серверов в трех датацентрах. Олег прочитал этот доклад на трех наших Java-конференциях (Joker, JPoint, JBreak) и вошел в список лучших на каждой – это, как говорится, неспроста.

Здесь вы найдете пример построения отказоустойчивой распределенной системы на Java, основный ошибках и отказах, приемах их тестирования и диагностики. Также речь пойдет и об авариях в распределенных системах и методах их предупреждения.


Остальные видео смотрите на нашем YouTube-канале [15].


А в тот момент, когда вы поймете, что интересные видео уже кончились, помните, что регистрация [16] и CallForPapers [17] на JPoint 2017 (7-8 апреля, Москва, ЦМТ) уже открыты.

P.S. Если вы живете в Сибири и вам тяжело и дорого добираться до Москвы, рекомендую обратить внимание на JBreak (Новосибирск, Экспоцентр) [18].

Автор: JUG.ru Group

Источник [19]


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

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

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

[1] Image: https://habrahabr.ru/p/317764/

[2] открыли доступ: https://habrahabr.ru/company/jugru/blog/309614/

[3] EvgenyBorisov: https://habrahabr.ru/users/evgenyborisov/

[4] бугурт в комментариях: https://habrahabr.ru/p/309910/

[5] lany: https://habrahabr.ru/users/lany/

[6] Compact Strings: http://openjdk.java.net/jeps/254

[7] Indify String Concat: http://openjdk.java.net/jeps/280

[8] мозгу: http://www.braintools.ru

[9] Walrus: https://habrahabr.ru/users/walrus/

[10] Первая часть: https://www.youtube.com/watch?v=9E6DKrxOLHo

[11] jbaruch: https://habrahabr.ru/users/jbaruch/

[12] cheremin: https://habrahabr.ru/users/cheremin/

[13] блогом Руслана: http://dev.cheremin.info/

[14] m0nstermind: https://habrahabr.ru/users/m0nstermind/

[15] нашем YouTube-канале: https://www.youtube.com/playlist?list=PLVe-2wcL84b-Waky1nkWVSNHPg6eOQWU9

[16] регистрация: http://jpoint.ru/registration/

[17] CallForPapers: http://jpoint.ru/callforpapers/

[18] JBreak (Новосибирск, Экспоцентр): http://2017.jbreak.ru/

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