[Перевод] Оптимизация Java-приложений для Arm64 в облаке

JVM в облаке часто экономит память и CPU по дефолту, из-за чего Spring-сервис использует меньше ресурсов, чем вы ему выделили. В новом переводе от команды Spring АйО разберем, какие существуют базовые настройки кучи, GC и CPU помогают синхронизировать JVM с лимитами контейнера и не переплачивать за простаивающие ресурсы.

https://habr.com/ru/companies/spring_aio/articles/1003602/

#java #kotlin #jvm #jvm_options #jvm_hacks #jvm_monitoring #jvm_hacking #arm64 #aarch64

Оптимизация Java-приложений для Arm64 в облаке

JVM в облаке часто экономит память и CPU по дефолту, из-за чего Spring-сервис использует меньше ресурсов, чем вы ему выделили. В новом переводе от команды Spring АйО разберем, какие существуют базовые...

Хабр

[Перевод] Программирование, ориентированное на данные, для Java: за пределами record-классов

Record-классы удобны, пока класс = «состояние, всё состояние и ничего кроме». Любое отклонение (API канонического конутруктора не равно внутреннему представлению, нужно наследование) ломает «автогенерацию» и паттерн-деструктурирование (destructuring). В новом переводе от команды Spring АйО статьи Brian`а Goetz`а, архитектора Java Language, предлагается следующий шаг в направлении data-oriented programming in Java: классы-носители и интерфейсы-носители (они же Carrier classes & interfaces). Концептуально, carrier классы родились из record-ов путем ослабления части их ограничений. Комментарий от Михаила Поливаха : Друзья, помните, пожалуйста, что данная статья по сути является суммированием обсуждения Carrier классов из JDK Project Amber Mailing List. Я это к тому, что пока непонятно, в какой версии языка carrier классы появятся, и появятся ли они в том виде, в котором представлены в статье. Статью стоит рассматривать как пищу для размышления.

https://habr.com/ru/companies/spring_aio/articles/995824/

#java #jvm #kotlin #jvm_options #jvm_hacks #spring #spring_boot #spring_framework

Программирование, ориентированное на данные, для Java: за пределами record-классов

Record-классы удобны, пока класс = «состояние, всё состояние и ничего кроме». Любое отклонение (API канонического конутруктора не равно внутреннему представлению, нужно наследование) ломает...

Хабр

[Перевод] JVM ещё жива, но уже бесполезна: как Netflix научился убивать её по GC

Вместо того чтобы ждать, пока Java-приложение окончательно "зависнет" из-за GC, инженеры Netflix сделали jvmquake — инструмент, который сам определяет, что JVM уже не спасти, вызывает дамп памяти и аккуратно завершает процесс. Меньше тревог, больше аптайма. Подробности - в новом переводе от команды Spring АйО .

https://habr.com/ru/companies/spring_aio/articles/987116/

#java #kotlin #jvm #jvm_hacks #jvm_options #netflix #spring #spring_boot #spring_framework #springboot

JVM ещё жива, но уже бесполезна: как Netflix научился убивать её по GC

Вместо того чтобы ждать, пока Java-приложение окончательно "зависнет" из-за GC, инженеры Netflix сделали jvmquake — инструмент, который сам определяет, что JVM уже не спасти, вызывает дамп памяти и...

Хабр

[Перевод] JVM: Барьеры, которые подходят любому GC

В новом переводе от команды Spring АйО рассказывается, как сократить время разогрева JVM с помощью ahead-of-time компиляции (в рамках Project Leyden), а также объясняется, почему традиционные GC-барьеры мешают гибкому выбору сборщика мусора. Статья содержит интересное решение — GC-независимые барьеры загрузки , которые можно «пропатчить» в рантайме под конкретный GC, обеспечивая совместимость без переписывания кода.

https://habr.com/ru/companies/spring_aio/articles/949710/

#java #jvm #jit #jitкомпилятор #jitкомпиляция #jvm_hacks #jvm_options #performance #performance_optimization

JVM: Барьеры, которые подходят любому GC

В новом переводе от команды Spring АйО рассказывается, как сократить время разогрева JVM с помощью ahead-of-time компиляции (в рамках Project Leyden), а также объясняется, почему традиционные...

Хабр

Пишем простую нейронку для адаптивного управления JVM: обучение и применение многослойной нейронной сети на Java

Данная статья является описанием моего эксперимента передать управление ресурсами JVM нейронной сети, которая будет предсказывать необходимость управления ресурсами на основе текущих данных, таких как загрузка CPU и память.

https://habr.com/ru/articles/856376/

#нейросети #исскуственный_интеллект #java #j #обучение_программированию #mashinelearning #jvm #jvm_options #jvm_monitoring

Пишем простую нейронку для адаптивного управления JVM: обучение и применение многослойной нейронной сети на Java

Данная статья является описанием моего эксперимента передать управление ресурсами JVM нейронной сети, которая будет предсказывать необходимость управления ресурсами на основе текущих данных, таких как...

Хабр