В данной статье я кратко описываю диагностические флаги JVM HotSpot, с помощью которых можно посмотреть на результаты работы JIT-компиляторов JVM. Эта информация поможет в оптимизации приложения для low-latency и в поиске узких мест.
Читать далееАрхив за месяц: Декабрь 2020
Agency и Principal: базовые понятия в биржевой торговле
Когда клиент покупает ценные бумаги через брокера, брокер в сделке может выступать в двух ипостасях (Capacity). Знание того, в какой ипостаси выступает в сделке брокер, требуется не только для клиента, но это и требование регулирующих органов, накладывающее ограничения на действия брокера в определенных ситуациях.
Читать далееhabr.com: Управление Java Flight Recorder
Не так давно в мире Java случилось грандиозное событие. Во всех актуальных версиях OpenJDK стал доступен Java Flight Recorder (или просто JFR).
Раньше этот механизм был доступен только в коммерческих версиях Java от корпорации Oracle версии 8 и более ранних. В какой-то момент его реимплементировали с нуля в OpenJDK 12, затем бекпортировали в OpenJDK 11, которая является LTS-версией. Однако вот OpenJDK 8 оставалась за бортом этого праздника жизни. Вплоть до выхода апдейта 8u272, в который наконец-то тоже бекпортировали JFR. Теперь все (за редким исключением) пользователи OpenJDK могут начинать использовать эту функциональность.
Статья на Хабре о том, как управлять JFR и как извлекать полезную информацию.
Новый JIT-компилятор Graal
Как уже говорилось в предыдущих статьях, в JVM HotSpot имеется два JIT-компилятора: C1 и C2. Первый компилятор — клиентский (client), который быстренько компилирует код при старте и первых минутах работы JVM, потом некоторое время собирает статистику по работе приложения, после чего в дело вступает компилятор C2 — серверный (server) — который делает более глубокие оптимизации и создает более быстрый машинный код.
Читать далее