Most JVM teams inherit GC defaults and hope for the best. That works — until pause spikes hit production. This guide explains when #Gencon, balanced or Concurrent Scavenge make sense.

Breakdown by B. Singh, A. Micic, D. Pivkine & @tobi_ajila: https://javapro.io/2026/05/21/openj9-gc-policies-how-to-choose-the-right-collector/
#OpenJ9

Large heap pauses getting expensive in Kubernetes or AI backends? Blind GC switching rarely helps. The real issue is often workload shape, fragmentation or allocation patterns.
Babneet Singh, Aleksandar Micic, Dmitri Pivkine & Tobi Ajila explain #OpenJ9 GC tradeoffs: https://javapro.io/2026/05/21/openj9-gc-policies-how-to-choose-the-right-collector/

#OpenJ9 #Java IBM @openj9

From modular runtimes to IBM Semeru InstantON, Gautham Krishnan shows how #Java apps launch in seconds & shrink memory—without losing throughput. Cut cold starts, boost agility with CRIU & class cache.

Read: https://javapro.io/2025/08/15/crafting-nimble-java-strategies-for-optimal-performance-and-agility/

@IBMDeveloper #OpenJ9 #CloudNative #DevOps

The full JDK lineup is here! You can now use every major Java 25 build, including #IBM Semeru powered by #OpenJ9. 👏
Check out the #intellij blog post to learn how to install the latest JDK in your IDE. 👇
https://jb.gg/r70wns
#java
Java 25 LTS and IntelliJ IDEA | The IntelliJ IDEA Blog

Full support for Java 25 is available in IntelliJ IDEA!

The JetBrains Blog

Cold starts killing your #Microservices? Gautham Krishnan shows AOT + IBM Semeru Cloud Compiler can trim startup time & keep peak perf in #Kubernetes—with CRIU snapshots & shared class cache to speed boot & more.

Guide: https://javapro.io/2025/08/15/crafting-nimble-java-strategies-for-optimal-performance-and-agility/

@IBMDeveloper #OpenJ9 #Performance

Спустя много часов (суммируется с нескольких дней), потраченных по большей части впустую, получил незабываемый опыт работы с JDK и гениальнейшим тулингом для его разработки.

Во-первых, не пытайтесь скомпилировать OpenJ9 на clang, с любыми флагами джава будет сегфолтить сразу же при запуске, а в стектрейсе из lldb ничего полезного без понимания кода самого ж9.

Во-вторых, набор тестов TKG/TestKitGen может не найти библиотеки jtreg (это фреймворк для тестирования джавы), может какой-то магией не найти свою джарку TestNG, может повиснуть на непройденном тесте, а параллелить выполнение придётся самому через make genParallelList и запуск в фоне make testList_0 &make testList_11 & (количество потоков минус 1) из баш-скрипта — рекомендую тоже не заниматься этой фигнёй и забить на тестирование своего билда, ограничиться проверкой java --version.

Для компиляции ж9 ещё нужен другой ждк (любой), в их терминологии это bootjdk. Необязательно скачивать бинарники Adoptium, прям любой JDK той же версии, что и компилируете; можно взять из репы дистрибутива.

Флаги оптимизации можно спокойно добавлять в --with-extra-cflags и cxxflags, по крайней мере -O3 и включение LTO ничего не сломали (внезапно, учитывая описанную выше фигню).

Выполнялось в рамках проекта https://git.dc09.ru/DarkCat09/docker-openj9-piped

#openj9

docker-openj9-piped

Custom builds of OpenJ9 and Piped in Docker

Forgejo

Теперь у меня есть майнкрафт в флатпаке на openj9

https://git.dc09.ru/DarkCat09/tesl-flatpak

#minecraft #openj9 #flatpak @rf @ru

tesl-flatpak

Build a Flatpak package for TESLauncher with OpenJ9 JRE bundled

Forgejo
Обновил https://git.dc09.ru/DarkCat09/docker-openj9-piped

OpenJ9 просто собран на последнем коммите, скрипты исправлять не пришлось. Напоминаю, можно использовать как базовый докер-образ с JRE 21 в проектах на джаве: `FROM git.dc09.ru/darkcat09/openj9:latest`

В Piped решил сделать компиляцию reqwest4j: при обычной сборке используется бинарник с мавена, теперь будет компилять и растовую библиотеку. Градл-плагин интеграции с карго — довольно неудобная для дебага штука; ну вот кто просил нативные либы тащить в пайпед…

Приделать бы автоматическую сборку через Forgejo Actions. Только на какое событие вешать? По крону проверять каждый день наличие новых коммитов в репе OpenJ9 и Piped-Backend?

#docker #openj9 @ru
docker-openj9-piped

Custom builds of OpenJ9 and Piped in Docker

Forgejo
Обновил Piped, теперь работает.

Собрал себе докер-имейдж с OpenJ9 (да, с компиляцией jdk, а не качанием рандомных бинарников), можете тоже использовать в проектах на джаве: `FROM git.dc09.ru/darkcat09/openj9:latest`
Есть небольшая вероятность, что убрал из JRE нужный модуль ради уменьшения размера контейнера, так что пишите, если у вас ошибка при запуске.

Это к чему: пайпед теперь не в chroot, а в контейнере (свой имейдж на основе openj9), вместо докера заюзан nerdctl, работающий напрямую с containerd, поддерживающий фичи докера и даже больше. Планировал запустить и bg-helper-server в контейнере, но пока что пайпед спокойно работает и без токенов.

https://pv.dc09.ru

https://git.dc09.ru/DarkCat09/docker-openj9-piped

#docker #java #openj9 #youtube #piped #dc09ru @ru
Piped

An alternative privacy-friendly YouTube frontend which is efficient by design.

#dc09ru #piped #java #openj9 @ru

Piped теперь работает на OpenJ9 (опять) благодаря усердному конфигурированию chroot-ов в течение полутора часов и компиляции рантайма в течение, ну, может даже менее часа.

Ест пока максимум 170 мегабайт оперативки, это прямо очень хорошо по сравнению с тем, что было на обычном OpenJDK (250 / максимум 490 мегабайт).

Архивы от билда:
https://pkg.dc09.ru/openj9/

Сам JDK 21:
https://pkg.dc09.ru/openj9/jdk.tar
(внутри директория `jdk/`)

Чексуммы лежат там же, sha256, sha512 и xxhash3.

Инстанс пайпеда:
https://pa.dc09.ru
Index of /openj9/