[Перевод] Перевополщение Stable Values в JDK 26

В новом переводе от команды Spring АйО рассмотрим ленивую инициализацию в Java , которая почти всегда значит: поле сначала null , потом double-checked locking, volatile, синхронизация. Ошибиться легко, а final не поставить. Итог - код хрупче и JVM хуже делает constant folding. В JDK 26 (preview, JEP 526) добавили LazyConstant<T> : final поле, рецепт вычисления через Supplier , значение берёте login.get() . Supplier выполнится при первом get и только один раз успешно, даже при гонке потоков. Кроме этого значение помечается как @Stable - JVM может считать его константой и агрессивнее оптимизировать. Граничные случаи: null нельзя; не сериализуется; исключение из Supplier пробросится и следующая попытка снова пересчитает; equals у LazyConstant - только identity. Для 1:n есть List.ofLazy и Map.ofLazy : элементы/значения считаются по индексу/ключу по требованию и кэшируются.

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

#java #kotlin #jdk #jdk_26 #perf #performance #performance_optimization

Перевополщение Stable Values в JDK 26

Ленивая инициализация полей в Java чревата ошибками и подрывает свёртывание констант (он же constant folding). В JDK 26 появился JEP 526, который в режиме preview предлагает LazyConstant — тип, лениво...

Хабр

Why does handling keys in #Java still feel harder than it should? JEP 470 brings first-class #PEM encoding & decoding to the #JDK. Sebastian Hempel walks through the new #APIs and real-world trade-offs.

Upgrade your security toolkit in #Java25: https://javapro.io/2026/02/17/pem-files-as-an-alternative-to-keystores/

@openjdk

[Перевод] Java — быстрая. Ваш код может таким не быть

Есть такие анти‑паттерны, которые выглядят нормально и даже проходят код‑ревью, но тихо убивают производительность в горячих местах: - Конкатенация строк в циклах - String.format() в горячем коде - Автобоксинг и так далее. И каждый подобный пролёт делает приложение чуть медленнее, и в какой-то момент это рискует превратиться в критическую массу, которая больно выстрелит на следующем спайке нагрузки. Если вы пишете на Java и у вас всё вроде работает, но под нагрузкой сервисы начинают задыхаться, в новом переводе от команды Spring АйО рассмотрим конкретные паттерны, на которые стоит посмотреть.

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

#java #kotlin #jvm #jdk #performance

Java — быстрая. Ваш код может таким не быть

Я собрал Java-приложение для обработки заказов для доклада, с которым я выступил на DevNexus пару недель назад. Приложение работало. Тесты проходили. Я прогнал нагрузочный тест и собрал запись Java...

Хабр

Что сейчас с Project Loom? Примеры и код

Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и StructuredTaskScope для параллельных вызовов, joiner’ы, timeout и связка обеих фич в одном примере. Примеры под JDK 25+ Что же с Project Loom?

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

#Java #Project_Loom #Structured_Concurrency #virtual_threads #Scoped_Values #StructuredTaskScope #JDK #многопоточность #Maven #Gradle

Что сейчас с Project Loom? Примеры и код

Привет, Хабр! В первой части я разобрал теорию Project Loom: virtual threads, Scoped Values и preview Structured Concurrency. Там была общая картина: зачем Loom появился, почему virtual threads не...

Хабр
All Azul Zulu Container Images Explained: CA, SA, and Chainguard

What’s the right image source for using Azul Zulu as Docker Official Images? The answer depends on whether you’re evaluating Azul Zulu, running it in production under a support contract, or operating in a high-security environment. This post explains all the options.

Azul | Better Java Performance, Superior Java Support

Java Digest #35

Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом. В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения! Читать 35 выпуск

https://habr.com/ru/companies/tbank/articles/1031954/

#java #jdk #jep #spring #springboot #hibernate

Java Digest #35

Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и...

Хабр

Common: Commonly usable classes without dependencies

#collection #java #jdk #list

https://github.com/int4-org/Common

GitHub - int4-org/Common: Commonly usable Java classes without dependencies.

Commonly usable Java classes without dependencies. - int4-org/Common

GitHub

Advanced performance analysis with async-profiler by Andrei Pangin

#analysis #java #jdk #performance #profiler

https://www.youtube.com/watch?v=u7-S-Hn-7Do

Advanced performance analysis with async-profiler by Andrei Pangin

YouTube
Thread Safe Native Memory in Java

Thread-safe native memory access covering Plain, Opaque, Acquire/Release, and Volatile with JCStress tests to prove each guarantee

foojay