Профайлер в каждый дом
Случается, что код тормозит. Конечно, наш код идеален и проблема кроется в third-party библиотеках, но легче от этого не становится. Как понять причину медлительности? Как профилировать?
Профилирование кода — это не просто «открыть профайлер», а процесс, позволяющий своевременно отлавливать неоптимальный код на этапе разработки, тестирования и работе в production. Для некоторых случаев и System.out/perf4j/poormansprofiler могут оказаться хорошим решением. Но что делать с жалобой QA: «Вчера работало медленно»? Что делать с заказчиком, который «уже обжёгся на профайлере X и не согласен его ставить»? Сколько времени разработчик потратит на анализ профиля, прежде чем найдёт упоминание интересного ему кода?
В Java можно легко сделать собственный профайлер: Instrumentation API позволяет внедрить код в нужные классы, и переносимый байткод позволяет не задумываться о зоопарке платформ. В докладе мы рассмотрим, как эти возможности можно использовать для разработки собственного профайлера. Вы на примерах увидите, почему стандартные профайлеры могут не удовлетворять требованиям некоторых заказчиков, мы с вами напишем несложный профайлер, научим его писать журнал событий и посмотрим, какие ещё возможности можно использовать для более плотной интеграции профайлера с вашим решением.
АвторВладимир Ситников
ОрганизаторСообщество JUG.ru
Лекции курса
14- Heart Surgery: HotSpot Debugging at the OS LevelVolker Simonis
- Зачем у Spring столько конфигураций?Барух Садогурский, Евгений Борисов, Николай Алименков
- Профайлер в каждый дом▶ Вы тут
- Groovy PuzzlersБарух Садогурский, Евгений Борисов
- Прикладная многопоточностьНиколай Алименков
- Java Benchmarking: как два таймстампа прочитать!Алексей Шипилёв
- Ahead-of-time компиляцияНикита Липский
- Spring Data? Да, та!Евгений Борисов
- За гранью NoSQL: NewSQL на CassandraОлег Анастасьев
- Future of Java: 9 and beyondВладимир Иванов
- Java в качестве основного рабочего инструмента Data ScientistАлексей Зиновьев
- java.lang.String CatechismАлексей Шипилёв
Онлайн-курсы по программированию
3
Машинное обучение для анализа текстов
От бизнес-идеи к ее реализации: учимся инновационному предпринимательству с нуля.
С платными опциями

Разработка игры-платформера на Defold: базовый уровень
Создайте свой первый платформер с нуля! За 7 недель вы не просто освоите движок Defold, а пройдете весь путь геймдев-разработчика: от кода и анимаций до дизайна и сюжета.
Бесплатный

Python для начинающих
Курс посвящен основам программирования на языке Python — одном из самых популярных и понятных языков, идеально подходящих для первого знакомства с IT.
Бесплатный
