JPoint 2015

20 апреля 2015
Москва, Россия
Смотреть
В избранное

Никита Сальников-Тарновский

Co-founder в Plumbr

Антон Кекс

Сооснователь в Codeborne

Антон Архипов

Разработчик и менеджер продукта XRebel в ZeroTurnaround

Яков Сироткин

Разработчик в Sidenis

Алексей Шипилёв

Разработчик Java в Oracle

О мероприятии

JPoint — Java-конференция только для опытных Java-разработчиков и только про разработку. Это уже четвертая по счету конференция JPoint: с каждым годом она получается еще больше, еще интереснее и еще хардкорнее!

Для кого

  • Техническим директорам
  • Тим лидам
  • Инженерам
  • Программистам
  • Разработчикам
Поделиться

Расписание

Развернуть все
понедельник, 20 апреля
День 1
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Где моя память, чувак?!

Утечки памяти и другие ситуации истощения памяти — частые враги Java-разработчиков и системных администраторов. Они могут привести к падению приложения или сделать его недопустимо медленным.

Этот доклад рассказывает о различных способах наблюдения за использованием памяти со стороны Java-приложения и о том, как различить нормальные и потенциально критические ситуации. Также мы поговорим о том, какую информация и когда надо собрать, чтобы приступить к решения проблем, относящихся к использованию памяти приложением. Никита расскажет о том, что такое memory dump и зачем он нужен. Доклад кратко коснется утечек загрузчиков классов и их особенностей.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Антон Кекс

Сооснователь в Codeborne

Архитектура интернет-банка без Enterprise

В данном докладе речь пойдет об архитектуре интернет-банка на базе Play Framework и Plain Simple Java. Покажу, почему такой выбор лучше, быстрее и дешевле, чем архитектура на базе Enterprise-решений. Интернет-банки на этой платформе сейчас обслуживают в России Банк Санкт-Петербург и УБРиР в Екатеринбурге, оба завоевали первые строки во всевозможных рейтингах сразу после запуска.

Play Framework сильно помог сделать быстрый старт и направил архитектуру на правильный путь, но, конечно же, реальная жизнь сделала свои корректировки, особенно в интеграционной части: интернет-банк отвечает за User Experience, поэтому должен скрывать от пользователя все недочеты IT-систем банка. Расскажу, чего в Play Framework есть особенно хорошего, а что нам пришлось делать по-другому, и как Agile помогает нам боротся с backend-системами.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Антон Архипов

Разработчик и менеджер продукта XRebel в ZeroTurnaround

Javassist на службе у Java-разработчика

Javassist — замечательная библиотека для работы с байткодом в Java. Основная задача таких инструментов, как Javassist — это анализ и динамическое создание/изменение class-файлов Java. Спросите, зачем? Об этом и пойдёт речь!

В ZeroTurnaround мы используем Javassist практически для всего. Мы рассмотрим примеры, максимально приближенные к тому, что нам приходится делать в наших продуктах JRebel и XRebel для манипуляции байткода и интеграции с серверами приложений и всевозможными Java-фреймворками.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Яков Сироткин

Разработчик в Sidenis

Миграция с PL/SQL на Java

PL/SQL предоставляет широкий спектр возможностей для работы с Oracle, но в большинстве случаев использование PL/SQL можно смело назвать архитектурной ошибкой. Большие объемы кода на PL/SQL мешают адаптировать систему к меняющимся бизнес-требованиям и не позволяют осуществить быстрый переход на Java. Однако, в нашем проекте мы смогли переписать на Java 20 тысяч строк кода PL/SQL, в том числе и процедуру на 1000 строк.

В докладе рассказывается, почему это было необходимо, как это было сделано и что это дало бизнесу.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Шипилёв

Разработчик Java в Oracle

Катехизис java.lang.String

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

В этом докладе будут рассмотрены основные пороки работы со строками: чревоугодие конкатенации, блуд подстрок, корыстолюбие интернирования, гордыню дедупликации и прочее. Кроме того, речь пойдет о том, чего стоит излишняя надежда на JDK и JVM.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Евгений Борисов

Разработчик Java в InWhite

Spring Puzzlers — Начало

Вряд кто-то будет спорить с тем, что Spring является одним из самых распространённых фреймворков сегодня. Но на сколько хорошо вы с ним знакомы?

Первый уровень — это умение пользоваться Spring, не сильно заморачиваясь, как он там работает. Второй уровень — это понимание кишок, что даёт вам возможность кастомизировать его под ваши нужды. Мы предлагаем вам выйти на третий уровень и освоить тонкости о работе со Spring.

Этот доклад включает много очень заковыристых и забавных загадок по Spring, взятых из реальной жизни. Полученные знания помогут вам освоить тонкости Spring-a и защититься от всяких мистических багов.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Volker Simonis

OpenJDK contributor в SAP

Packed Objects, Object Layout & Value Types — a Survey

Java is often criticized for not supporting C-style structs. This makes it hard to efficiently implement certain types of data structures like for example arrays of small objects.

However, recently this problem has been addressed by several different approaches. My talk will briefly introduce Packed Objects , an extension available in IBM's Java SDK 8, Object Layout , a layout-optimized Java data structure package proposed by Gil Tene and Value Types , an OpenJDK proposal for small, immutable, identityless value types.

I will describe the commonalities and differences of the three approaches and explain how they can improve the memory overhead and locality of Java objects. Finally I will deep-dive into the implementation of the Object Layout library and explain how it can be transparently intrinsified and optimized in the HotSpot VM.

Attendees of my talk will become familiar with the development of an emerging Java technology. The will also get a good impression of what it means to implement such an extension in the Java Virtual machine and gain some insights into the HotSpot VM.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Александр Белокрылов

Менеджер продукта в Oracle

Восстание машин: в энтерпрайз с 256 КБ RAM.

Вселенная неуклонно расширяется. Образовавшиеся пустоты заполняются новыми технологиями и системами, автоматизируя задачи, которые ещё 10 лет назад казались нерешаемыми. Растущий интерес компаний к Интернету Вещей заставляет искать новые технологии и методы разработки программного обеспечения.

Из этого доклада вы узнаете, как Oracle видит эту проблематику. Будут рассмотрены возможные решения с помощью таких технологий как mbed, is2t и Java ME Embedded. На реальном примере проверим, как Java ME Embedded помогает управлять периферией, удаленно изменять бизнес-логику на устройстве и, используя безопасные протоколы, подключаться к Сети. Все это не было бы так интересно, если бы не сверхмалые требования к аппаратной платформе. Мы запустим стандартизированный Java runtime вместе с приложениями на устройстве с 256 килобайтами RAM.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Барух Садогурский

Developer advocate в JFrog

Не всё, но многое о том, что вы хотели знать о том, как написать асинхронные многопоточные HTTP приложения, но боялись спросить

Из репозиториев JFrog народ скачивает файлы: часто, много и одновременно. В какой-то момент ребята из JFrog решили, что пора бы написать свою библиотеку для скачивания файлов, чтобы использовать ее во всевозможных клиентских приложениях типа плагинов для инструментов сборки.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Рагозин

Lead Solution Architect в Технологический Центр Дойче Банка

Непрерывное профилирование Java-приложений в ходе эксплуатации

Экосистема Java предоставляет широкий выбор профилировщиков. Большинство из них, тем не менее, требуют «тепличных условий» для проведения сеанса профилирования. Однако, воспроизведение условий близких к реальным зачастую является наиболее сложным аспектом профилировании. Можно ли профилировать приложение под реальной нагрузкой в ходе реальной эксплуатации?

В докладе пойдёт речь о:

  • сборе телеметрии приложений и последующем анализе этих данных;
  • различиях между мониторингом и телеметрией
  • выборе параметров телеметрии;
  • накоплении данных телеметрии;
  • сэмплировании снимков стека и их анализ;
  • Flight recorder — инструменте телеметрии, встроенном в JVM.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Зиновьев

Java-разработчик в Тамтэк

Мама, я так хочу Hibernate для NoSQL, ну или что там у вас есть на примете…

Среди американских стартапов считается нормальным использовать в качестве базы данных для проекта NoSQL. Под это выделяются бюджеты, про это потом показывают слайды в презентациях.

Обычного Java-программиста ни жизнь, ни универ, ни типичный веб-проект не готовят к низкоуровневому взаимодействию через Java-драйверы. Через 15 минут кодинга он, словно маленький ребенок, начинает требовать Hibernate или его подобие для элементарного маппинга бесчисленных (на этапе построения прототипа, особенно) сущностей на гхм.. таблицы в новой базе данных.

Однако, в высоконагруженных проектах свои требования. Зачастую приходится считать каждый лишний байт метаинформации, рефлексия может стать неуемной тратой расточительной JVM. Morphia для Mongo, Hector и Easy-Cassandra для Cassandra, безымянные жонглеры аннотациями для Hbase, Kundera для всего подряд.. Вы можете погрязнуть во всем этом головой и никогда не вынырнуть.

Однако свет в конце тоннеля есть! В докладе будут даны железные аргументы для использования того или иного инструмента в ваши усталые от маппинга руки… Доклад сэкономит массу времени тем, кто оказался в описанной выше ситуации.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Дмитрий Нестерук

Технический евангелист в JetBrains
и ещё 1
докладчик

Инструменты для командной разработки

Эффективность работы программистов зависит не только от знания алгоритмов и технологий, но и от инструментов, которые они применяют в разработке. Мы давно привыкли полагаться на правильную IDE, использовать профилировщики и, конечно же, любимые фреймворки и билд-тулы. Но на конечный результат влияет ряд дополнительных факторов, связанных с работой команды в целом: управление проектом, планирование релизов и майлстоунов, сборка и тестирование изменений, ревью кода и многое другое. Правильное использование инструментов командной разработки может значительно упростить вашу жизнь и повысить качество конечного продукта.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Андрей Паньгин

Разработчик в Одноклассники

Лучший отладчик — сделанный своими руками

Java-разработчики привыкли: утекает память — запускай Eclipse Memory Analyzer, проблемы с производительностью — профилируй с YourKit. Но зачастую стандартных средств не хватает, например, когда ошибка проявляется только в production, куда и дебаггером не подключиться, и 10-гигабайтный Heap Dump не снять без перебоев в обслуживании.

Сделать собственный инструмент, заточенный под конкретную проблему, не так уж и трудно! Порой даже быстрее, чем найти готовое решение в интернете. JDK включает богатый инструментарий для написания всевозможных средств отладки и мониторинга: JVMTI, Dynamic Attach Mechanism, Serviceability Agent, Instrumentation API и т.п. В докладе будет показано, как ими пользоваться, будет рассмотрено, как устроены изнутри jstack, jmap и jstat. Кроме того, подобная утилита будет написана прямо во время доклада! За основу примеров взяты случаи из практики в «Одноклассниках», а также реальные проблемы разработчиков, обсуждаемые на Stack Overflow.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Александр Подхалюзин

Руководитель группы разработчиков в JetBrains

Производительность разработки на Scala

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

Из доклада вы узнаете о том, какие практики и инструменты могут быть использованы при обучении и дальнейшем программировании на Scala. Будут рассмотрены Scala Worksheet и его прикладное использование. Будет сделан обзор некоторых распространенных ошибок в Scala-коде. Кроме того, будут рассмотрены возможные рефакторинги языка Scala, и инструменты для дебага implicits. Доклад будет сопровождаться небольшим введением в язык, поэтому знания Scala слушателю не требуется.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Барух Садогурский

Developer advocate в JFrog
и ещё 1
докладчик

Эпичные Groovy Puzzlers — Месть Скобок

Ещё страннее, ещё удивительней, ещё веселее! Groovy Puzzlers возвращаются во втором сезоне, чтобы делать то, что так хорошо пошло в первом. Как и в прошлом году, мы покажем вам новые грабли, на которые наступили сами и которые прислали нам по почте. Еще больше «ОГО!», «Ничего себе!» и «ДА НУ!», еще больше швыряния призов, и еще больше темных тайн Груви, которые станут явью!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Яков Сироткин

Разработчик в Sidenis
и ещё 3
докладчика

Круглый стол. Рефакторинги и технический долг

Темы для обсуждения:

  • управление техническим долгом
  • взаимодействие с бизнесом
  • новые версии браузеров и платформ как триггер для рефаторинга
  • мотивация разработчиков изучать legacy
  • технический долг и legacy
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Дмитрий Чуйко

Performance-инженер в Oracle

CompletableFuture уже здесь

2015? Многие говорили, что у Java нет будущего. Но ведь всё это время существовали Future и ExecutorSevice для асинхронного выполнения задач. И ну его к чёрту, этот континуум — с появлением CompletableFutire в Java 8 открылся простой выход из ада коллбэков в мир простого и функционального Java-кода. Там, куда мы направляемся, блокирующие вызовы не нужны. Мы попробуем на практике CompletableFuture «со стримами и лямбдами» и посмотрим, насколько его применение эффективно. Кроме того, мы коснемся следующих тем:

  • Переход от блокирующегося исполнения на основе Future к подходу без блокировок на основе CompletableFuture;
  • Разбор API;
  • Накладные расходы;
  • Простое руководство для многоуровневых систем (на примере веб-сервера).
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Яков Файн

Сооснователь в Farata Systems

RESTful-сервисы и протокол OAuth в IoT

С точки зрения разработки ПО, Internet of Things (IoT) — это программирование сенсоров и гаджетов, организация их взаимодействия и интеграция с существующими приложениями.

Гаджеты, поддерживающие IoT, могут использовать различное закрытое ПО, однако RESTful-сервисы и протокол OAuth являются связующим звеном во взаимодействии различных устройств с жизненным циклом приложения. Этот доклад продемонстрирует пример подобной архитектуры. Вы узнаете, как авторизовывать пользователей и интегрировать IoT–устройства.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Сергей Куксенко

Java Performance Engineer в Oracle

Железные счётчики на страже производительности

Нередко при анализе производительности приложений приходится много копать. Но просто копать недостаточно, нужно еще разгребать накопанное. Железный век настал более 3000 лет назад, и было бы удивительно, если бы за это время человечество не создало кучу разнообразных железных приспособлений для копания и разгребания.

В данном докладе мы узнаем, что же такое «Hardware Performance Counters», где их найти и как их можно использовать для анализа производительности.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Андрей Чепцов

Менеджер по маркетингу в JetBrains
и ещё 2
докладчика

Круглый стол. Рабочие инструменты Java-разработчика

емы для обсуждения:

  • IDE
  • profiler-ы
  • CI
  • системы сборки
  • code quality (sonar, code coverage tools, static analysis)
  • Бинарные репозитории - куда без них!?
  • code review
  • database tools
  • reverse engineering
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Шипилёв

Разработчик Java в Oracle

Сжимай меня полностью

Контроль над использованием памяти — это ключ к написанию высокопроизводительного софта. В этом докладе мы покопаемся в кишках JVM и JDK, в поисках того, как платформа пытается сэкономить на памяти. Посмотрим на упаковку заголовков и полей объектов, сжатие указателей, учёт ссылок между поколениями в куче, кэш автобоксинга и т.п.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Николай Гарбузов

Разработчик в ДонРивер

Аспектно-ориентированное решение классических проблем

Вам часто приходится менять модули системы, добавляя в них поддержку очередной фичи? Например, новую систему логирования, систему валидации объектов или обработки исключений. А как много сил уходит на модификацию таких систем после их внедрения! Не говоря уже о том, что иногда хочется расширить возможности Java и добавить, например, миксины!

В докладе я расскажу об аспектно-ориентированном подходе к решению такого рода проблем. Кроме этого, мы рассмотрим основные реализации АОП в Java и их отличительные особенности.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Владимир Ситников

Разработчик в Netcracker OSS

Выражаемся регулярно

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

В докладе мы разберемся с тем, что делать, если регулярное выражение работает 30 секунд на строке в 50'000 символов? Как предотвратить StackOverflowError из RegExp'а на стадии code review? Например, мы разберемся почему в коде ниже:

String schedule;
StringBuilder sb = new StringBuilder();
for (int count = 1; count <= 2015; count++) {
    sb.append("JokerJPoint");
}
schedule = sb.toString();
boolean nirvana = schedule.matches("(Joker|JPoint)*");

Может произойти вот такая ошибка:

java.lang.StackOverflowError
at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
at java.util.regex.Pattern$Slice.match(Pattern.java:3972)
at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
at java.util.regex.Pattern$Slice.match(Pattern.java:3972)
at java.util.regex.Pattern$Branch.match(Pattern.java:4604)

Мы также научимся обходить узкие места стандартной библиотеки java.util.regex, рассмотрим альтернативные реализации, и научимся с первого взгляда отличать плохое выражение от хорошего.

Не останутся без ответа и вопросы из серии RegExp vs. XPath:

  • Стоит ли парcить xml и использовать xpath, если нужно выбрать всего одно простое поле? А если 2 или 5?
  • RegExp vs. SQL: Мы кратко пройдемся по некоторым проблемам с регулярными выражениями в других языках (например, SQL, Python).
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Иван Крылов

Senior Software Engineer в Azul Systems
и ещё 3
докладчика

Круглый стол. Будущее Java-платформы

Темы для обсуждения:

  • развитие языка Java,
  • новые аппаратные платформ,
  • оптимизации на уровне VM,
  • различные варианты виртуальных машин,
  • развитие JVM (новая функциональность, а не просто оптимизации),
  • поддержка альтернативных языков на Java платформе.
  • вызовы, стоящие перед Java платформой
  • 20 лет Java: "вино 20 летней выдержки” или "страшное legacy”
  • Java для мобильных девайсов
  • Javа для десктопа и браузеров
  • Java для IoT (embedded)
  • Server side Java
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Николай Алименков

Java-техлид в EPAM

Нужен ли нам JMS в мире современных Java-технологий?

JMS известен в Java-мире как стандартное решение для реализации распределенной работы с помощью обмена сообщениями. Существует множество JMS провайдеров, как бесплатных, так и коммерческих. Большой процент разработчиков используют JMS везде, где нужно послать сообщение и обработать его на другом конце. Но существует множество альтернативных решений организовать эффективные очереди сообщений: AMQP, Redis, ZooKeeper, Apache Kafka или даже самописные очереди на Cassandra. Почему не использовать их вместо JMS?

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Глеб Смирнов

Разработчик в Plumbr

Тайны — в наших головах, а не в JVM

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

Зря! HotSpot — не загадочная шайтан-машина. Пользуясь её открытым исходным кодом, мы можем разобраться с чем угодно. Нужно только больше настойчивости. В этом докладе мы разберём несколько казалось-бы-загадочных проблем, окунувшись в увлекательный мир С-кода.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Роман Гребенников

Разработчик распределенных систем в Findify

Scala под капотом

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

Но волшебство функциональной легкости заканчивается с фразой «а почему я переписал 100 строк лапши на Java в однострочник на Scala, но оно стало работать в 3 раза медленнее?», и мечта о прекрасном языке превращается в тыкву. Суровая реальность грязным сапогом как бы говорит нам, что абстракции языков высокого уровня могут скрывать монстров и все удобства имеют свою цену. И если вы делаете на Scala не простое CRUD-приложение, а что-то, хоть отдаленно связанное с нагрузкой, необходимо хорошо понимать, во что именно вам обходятся все эти монады.

Этот доклад поведает вам о магии, которую творит компилятор скалы под капотом, расскажет об ужасах scala-коллекций, рекурсии и паттерн-матчинга, а также о том, почему же так происходит.

Доклад может открыть глаза на возможные подводные камни производительности людям, практикующим программирование на Scala. В процессе будет рассказано:

  • об интеграции jmh и sbt;
  • о том, как заставить scalac рассказывать о том, что он там наоптимизировал;
  • о тайнах паттерн-матчинга, хвостовой рекурсии и scala-коллекций;
  • об умном HotSpot, который геройски все это оптимизирует.

Для полноценного осознания доклада рекомендуется заранее ознакомиться с докладами Алексея Шипилёва об исследованиях производительности в Java.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Олег Бунин

Генереральный директор в Онтико
и ещё 3
докладчика

Круглый стол. HighLoad

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

Видеозапись
Доступ к записям всех докладов
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Организатор

JUG.ru
https://jugru.org

Организационный комитет: JUG.ru, info@jugru.org, 78126802918

Похожие мероприятия

16-17 октября 2015
Докладов 37
Просмотров 1
dev, development, java, по, программирование, разработка, язык программирования
19-20 октября 2017
Докладов 90
Просмотров 39
dev, development, по, программирование, разработка, софт, технологии
23 сентября 2017
Докладов 15
Просмотров 1
.net, .net, dev, development, dotnet, qa, по, программирование, разработка, софт
показать ещё