— JEP 522, авторы — Ivan Walulya и Thomas Schatzl, нацелен на реализацию в JDK 26; последнее обновление датировано 8 сентября 2025 года.
— Согласно дорожной карте JDK 26, окончательное рассмотрение этого JEP запланировано на 15 сентября 2025 года.
— Предложено снизить накладные расходы на синхронизацию между потоками приложения и сборщика мусора G1, сохранив существующую архитектуру и взаимодействие с пользователем.
— Ключевая идея — внедрение второй таблицы карточек (card table):
▪️ Потоки приложения работают с быстрой, простой, синхронно-нережимой "первой" таблицей
▪️ Потоки-оптимизаторы обрабатывают отдельную вторую таблицу
▪️ При необходимости G1 выполняет атомарный обмен таблицами, позволяя каждому потоку работать автономно и эффективно
— Производительность:
▪️ В сценариях с частыми изменениями ссылок в объектах — прирост производительности в диапазоне 5–15 %
▪️ Даже в менее интенсивных сценариях — прирост до 5 % за счёт упрощения write-барьеров (уменьшение с ~50 до ~12 инструкций на x64)
— Снижение пауз GC: более лёгкая структура таблиц карточек и менее громоздкая синхронизация сокращают продолжительность пауз сборщика мусора
— Дополнительная память:
▪️ Вторая таблица занимает ~0,2 % от кучи — порядка 2 МБ на каждый ГБ JVM-кучи
▪️ Несмотря на это, она заменяет более объёмные вспомогательные структуры и не увеличивает общий объём памяти заметно
#News
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤1💯1
Топ-3 статьи о Java за неделю по мнению нашего канала. Нововведения Java 25, паттерны кэширования для микросервисов и оптимизации сборки с помощью Maven.
PVS-Studio в своей статье подробно рассматривает нововведения в Java 25, включая новые API, улучшения синтаксиса и поддержку функционального программирования.
Cтоит отметить появление ScopedValue, который решает проблемы с ThreadLocal, а также возможность использования компактных исходных файлов и методов main.
В статье от OTUS рассматриваются пять основных паттернов кэширования, которые могут значительно повысить производительность микросервисов. Каждый паттерн, от Cache-Aside до Write-Back Cache, имеет свои особенности и сценарии применения.
Особенно рекомендую статью от Spring АйО. Всегда использовал mvn clean install, и, думаю, так делают многие из вас.
Статья посвящена вопросам оптимизации сборки проектов с использованием Maven. Также обсуждается, когда можно обойтись без clean install.
#News
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1🎉1