- PVSM.RU - https://www.pvsm.ru -
В апреле в Москве прошла JPoint 2016 – крупнейшая Java-конференция в России. Напомню, что на конференции было 50 докладов, которые шли в 4 треках в течение двух дней. В сентябре мы открыли доступ [2] к видео для наших читателей, однако руки всё никак не доходили до публикации топ-10 докладов на Хабре.
Чтобы определить, какие спикеры понравились участникам конференции, мы собираем фидбеки, на основании которых получаем весьма достоверную взвешенную оценку для каждого из докладов.
Конечно, какие-то доклады оказываются лучше, какие хуже. Но в этом посте речь пойдет о 10 жемчужинах, лучших докладах, оценка каждого из которых оказалах выше 4.6 по пятибалльной шкале. Ссылка на остальные доклады по катом, так что вам будет чем заняться до Нового Года:)
Доклад о том, каково это – работать на Scala-фреймворке под Java, – и почему стоит это делать, в свое время вызвавший бугурт в комментариях [4]. В докладе рассмотрены структура и принципы работы Spark, преимущества Java 8, которые делают работу со Spark удобной и лакончиной.
Захватывающий доклад, начинающийся с философии и наполненный демками является редким исключением, заслуженно занявшим первую строчку. Если вы пишете на Java и работаете с BigData – must see:
Доклад для тех, кто уже работает со Stream API и кого не пугает слово spliterator. Основное внимание уделено странному поведению стримов в области производительности, жора памяти и параллелизма. Тагир постарался не заострять внимания на микроэффектах, а поговорить о проблемах, решение которых позволяет ускорить ваш код в 2-10 раз.
В докладе подробно разбирается, какие баги есть в Java 8 Stream API и что будет исправлено в Java 9. Также даются решения некоторых нетривиальных задач, в том числе при помощи библиотеки StreamEx (автором которой по невероятному стечению обстоятельств является сам Тагир).
Доклад, вошедший в ТОП-3 всех наших Java-конференций (Joker/JPoint/JBreak). Доклад помогает понять, насколько сильно отличается разработка JDK от обычных проектов. В рамках выступления Алексей показывает две фичи во все еще грядущем JDK 9, направленные на оптимизацию строк: Compact Strings [6], сжимающие строки с однобайтовыми символами, что улучшает футпринт и даже общую производительность; и Indify String Concat [7], использующий магию invokedynamic для конкатенации строк, позволяющий подкручивать реализацию конкатенации без рекомпиляции программ.
Единственный нетехнический доклад, получивший высокую оценку аудитории. Впрочем, это же JPoint, у нас даже нетехнические доклады оказываются низкоуровневыми. Вы узнаете, что за «обезьяна» живет в
Этот доклад о том, как приспособиться к себе и окружающим нас людям, чтобы успевать выполнять возложенные на вас задачи и при этом уходить с работы вовремя. Возможно, залог его успеха в том, что многие разработчики – недисциплинированные энтузиасты, работающие по ночам и постоянно испытывающие нехватку часов в сутках.
JPoint и Joker – конференции, которые пробуждают в обычных, казалось бы, разработчиках тягу к «железным» оптимизациям. Именно доклады Сергея позволяют утолить жажду крови и хардкора: ниже видеозапись второй части доклада, в котором речь идет о том, как «маленькие-маленькие хреновинки внутри архитектуры современных процессоров влияют на производительность ваших приложений». Первая часть [10], посвященная тому что происходит в ядре процессора.
Новый доклад посвящен эффектам, которые можно достичь за счет оптимизаций на кристалле, лежащих за пределами ядра. Если вы любите перфоманс пожестче, вам сюда:
Как известно, Java-разработчики любят sun.misc.unsafe, а разработчики JDK не любят, когда люди пишут unsafe код. Почему? Потому что «Java is exceptionally safe. Except Unsafe which is unsafe. But it is an exception».
Этот любовный треугольник привел к тому, что в Java 9 доступа к ансейф не будет, а на смену ему придет VarHandles – новый API, сравнимый по скорости с Unsafe, но более безопасный. В докладе Алексей живо с примерами и бенчмарками рассказывает о причинах появления нового API, о его возможностях, ограничениях и скорости работы (которая иногда даже выше, чем unsafe):
Ну, вы знаете. Puzzlers + Java 8 = win. Кортеж из трех Java-звезд не мог не войти в ТОП, особенно с паззлерами. Часовая подборка из смешных и весьма непростых загадок по Java 8: идеально подходит для проверки остроты ума, а также для того, чтобы понять, при чем здесь яйца.
Смотреть можно дома, с кружкой чая/кофе/пива заходит лучше сериалов:
Окей, back to hardcore с Русланом Череминым о тонкостях работы Escape Analysis, позволяющем понять, можно ли без последствий произвести Scalar Replacement (аллоцировать объект прямо на стеке и не тратить время на работу со ссылками и сборку мусора). Доклад начинается с азов, но возможно перед просмотром вы захотите ознакомиться с блогом Руслана [13], в котором на эту тему есть много интересного.
В докладе на примерах рассматриваются сильные и слабые стороны алгоритмов escape analysis применяемые в Java JIT:
Бывало у вас такое, что ваш кластер внезапно теряет и портит данные, страдает раздвоением
Доклад о том, как сделать распределенную систему, не прострелив себе ногу: типичные ошибки и способы их решения, а также немного лайв-кодинга на Scala с Docker'ом с потерей данных в прямом эфире:
Доклад о том, как работает одна из наиболее высконагруженных систем в России, обрабатывающая до 500 000 (полумиллиона, да) запросов в секунду на 8000 серверов в трех датацентрах. Олег прочитал этот доклад на трех наших Java-конференциях (Joker, JPoint, JBreak) и вошел в список лучших на каждой – это, как говорится, неспроста.
Здесь вы найдете пример построения отказоустойчивой распределенной системы на Java, основный ошибках и отказах, приемах их тестирования и диагностики. Также речь пойдет и об авариях в распределенных системах и методах их предупреждения.
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
Нажмите здесь для печати.