Очередная встреча московской Java User Group прошла 22 мая 2017 года традиционно в офисе компании КРОК. На ней Никита Липский и Дмитрий Чуйко рассказали о статической (Ahead-of-Time) компиляции в языке программирования Java и её реализации в продуктах компаний Excelsior и Oracle.



О докладчиках


Никита Липский представляет новосибирскую компанию Excelsior, выпускающую уникальный продукт — статический компилятор для языка Java, Excelsior JET. Приложение вполне востребовано и отлично чувствует себя на рынке, этой осенью будет отмечаться уже 20 лет его существования. Никита является одним из инициаторов создания и активным участником разработки приложения.

Блог компании достаточно интересен: кроме анонсов новых версий (с плагинами для Maven и Gradle) встречается описание и прочих полезных вещей вроде Git-плагина для Far Manager и плагина для IntelliJ IDEA (написанных программистами Excelsior). Судя по опросу, скоро можно ожидать что-то ещё.

Доклады Никиты, упорядоченные в хронологическом порядке:


Аудио с Никитой:


Для ознакомления с Excelsior JET наиболее полезны первые доклады раз и два (совместное выступление Никиты с Павлом Павловым на JUG.ru в 2013 году), потом можно посмотреть истории о технической поддержке продукта.

Прочие ссылки: Хабрахабр, GitHub, Twitter, SlideShare.

Дмитрий Чуйко работает в компании Oracle, которая тоже с недавнего времени заинтересовалась статической компиляцией. Является активным докладчиком как конференций JUG.ru, так и прочих.

Доклады Дмитрия:

  • «Новинки в java.util.concurrent» (JUG.ru-2013: видео)
  • «Обзор нововведений в java.util.concurrent (JSR166e)» (JEEConf 2013: презентация, видео)
  • «Java Mission Control» (Java 8 Launch 2014: видео)
  • «Быстрая загрузка ваших классов» (JUG.ru-2015: видео)
  • «CompletableFuture. Хочется взять и применить» (JUG.ru-2015: видео)
  • «CompletableFuture уже здесь» (JPoint 2015: видео)
  • «Completable Future уже здесь» (JEEConf 2015: презентация, видео)
  • «Hotspot и AOT» (JBreak 2016: видео)
  • «Hotspot и AOT: Пришло время компилировать» (JPoint 2016: презентация, видео)
  • «Чёрная метка, StampedLock и его друзья. Как не нарушить пиратский кодекс» (JPoint 2016 Student Day: видео)
  • «Hotspot & AOT» (JEEConf 2016: видео)
  • «Ahead-of-Time компиляция для HotSpot JVM» (JUG.ru-2016: презентация, видео)
  • «Compile ahead of time. It’s fine?» (GeeCON 2017, JEEConf 2017: презентация)

Прочие слайды на SlideShare.

О докладах


Для обоих докладчиков встреча jug.msk.ru стала частью тура выступлений на конференциях. Тур Никиты начался участием его в записи выпуска 134 подкаста Разбор полётов (из аэропорта). Далее были Riga DevDays 2017, GeeCON 2017, jug.msk.ru и Oracle Code 2017 Moscow. Тур Дмитрия включал тоже GeeCON 2017 и jug.msk.ru, далее JEEConf 2017.

Встреча и тема, которой была посвящена встреча (AOT), вызвали большой интерес. В качестве зрителей присутствовали, по крайней мере, пять спикеров конференций, проводимых JUG.ru. Т.е. всего (с учётом Дмитрия и Никиты) была редкая возможность увидеться и пообщаться с семерыми спикерами.

Андрей Когунь вместе с Никитой (первый снимок) и дополнительно Дмитрием (второй снимок) начинает встречу.



Никита выступал первым. На мой взгляд, это лучший или один из лучших его докладов. Доклад продолжался два часа, что позволило ему больше рассказать и ответить на большее количество вопросов из зала. Выступление значительно заинтересовало присутствующих. Вопросы были хорошими и подчас неожиданными для докладчика (например, про сравнение времени запуска приложений на SSD).



С выпуском JDK 9 «из коробки» появляется возможность статической компиляции, т.е. преобразования в код целевой платформы (т.н. native). Правда, пока только под Linux. O JEP 295, JEP 243 и компиляторе Graal был рассказ Дмитрия. Доклад был логическим продолжением предыдущего его доклада, представленного ранее на встрече JUG.ru.



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



Презентации докладов встречи: AOT для Java: Мифы и Challenges Никиты и Compile ahead of time. It's fine? Дмитрия. Фотографии со встречи: группа в VK, Google+.

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

Подписка на рассылку анонсов следующих встреч jug.msk.ru.