Подготовка к участию в семинаре

Для выполнения практической части семинара вам понадобится ноутбук. Материал протестирован на Windows 7/10, Linux и MacOS.

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

Чат на время мастер класса https://discord.gg/EbJWyW

Погдотовка ПО

Java

Вам потребуется OpenJDK 11. Существует несколько дистрибутивов, вы може использовать любой. Ниже не полный список дистрибьюторов OpenJDK.

git

Для работы с материалом семинара вам понадобится git клиент с поддержкой коммандной строки.

Maven

Для запуска демонстрационных проектов необходим Maven версии 3.6 или выше.

После инсталяции убедитесь, что команда mvn --version корректно работает из консоли и возвращает правильные номера версий Java и Maven.

Mission Control 7.0

Установите Mission Control 7.0.

SJK

SJK - консольный профайлер, позволяющий в том числе работать с файлами Java Flight Recorder. Скачайте sjk.jar в дидекториюLABDIR/.

Выполните команду java -jar sjk.jar --commands Резльтат выпольнения должен быть следующим: ssa - [Stack Sample Analyzer] Analyzing stack trace dumps hh - [Heap Histo] Prints class histogram, similar to jmap -histo stcpy - [Stack Copy] Stack dump copy/filtering utility vminfo - [VMINFO] Dumps various from local VM mx - [MBean] MBean query and invokation jps - [JPS] Enhanced version of JDK's jps tool mxping - [MXPING] Verify JMX connection to target JVM mxdump - null ttop - [Thread Top] Displays threads from JVM process dexp - [Dump Export] Extract metrics form compressed dump into tabular format jfr2json - [JFR 2 JSON] Flight decoder, command translates JFR files into JSON mprx - JMX proxy - expose target process' MBeans for remote access stcap - [Stack Capture] Dumps stack traces to file for further processing gc - [Print GC] Print GC log like information for remote process flame - Generates flame graph from stack traces

Загрузка учебных материалов

Мы будет использовать директорию LABDIR/ для разимещения всех учебных материалов.

Пример 1

В папке LABDIR/ выполните следующие : git clone -b opt_demo_step_1 https://github.com/aragozin/optaplanner-bench.git optaplanner
cd optaplanner
mvn -DskipTests clean package
Сборка должна завершиться успешно.

Пример 2

В папке LABDIR/ выполните следующие команды: git clone -b bench/bias-sjk/master https://github.com/aragozin/proflab.git bias-sjk
cd bias-sjk
mvn clean package
Сборка должна закончиться успешно.