Архив метки: java

Java 19: что нового

По поводу выхода Java 19 много уже опубликовано постов. В данной заметке я хочу лишь кратенько систематизировать новинки, потому что в большей части статей новинки подаются в общей куче без всякой системы, а нужна общая картина, куда Java движется и что в ее компонентах появляется новое и может пригодиться для low-latency разработки. Многое из этого войдет в следующий LTS релиз Java 21, который выйдет в сентябре 2023 года, т.е. ровно через год.

Читать далее

Зачем выставлять стартовые параметры -Xmx и -Xms у JVM на одно значение

В стартовых параметрах Java есть два параметра -Xmx и -Xms, которые отвечают за то, какой объем heap вы хотите выделить вашему приложению при старте (-Xms), и какой максимальный объем памяти (-Xmx) вы хотите выделить для программы за все время ее работы.

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

Читать далее

Собрать библиотеку hsdis для просмотра ассемблерного кода. Насколько глубока кроличья нора?

Библиотека hsdis удобна для преобразования листинга машинного кода, создаваемого JIT-компилятором, в читаемый ассемблерный код. Просмотр ассемблерных инструкций может пригодиться для проверки и отладки какого-то критического участка кода, который, например, чувствителен к latency.

При компиляции JIT-компилятор производит множество оптимизаций, и вывод ассемблерного кода помогает проверить, насколько эффективный код сгенерировал JIT-компилятор, посмотреть, были ли ожидаемые оптимизации сделаны, или что-то помешало JIT-компилятору их сделать.

Читать далее

Что надо знать программисту об устройстве современного процессора

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

Читать далее