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/

We just published a new 🎥 of #JCON EUROPE 2024!
Watch Mark Stoodley talking about 'Could your Java workloads be missing out on something?'

In 2017, a new open source #Java Virtual Machine called #Eclipse #OpenJ9 appeared in the Java…

Watch it now: https://youtu.be/_UL-bdAkGH0

Could your Java workloads be missing out on something? | Mark Stoodley (EN)

YouTube

Excited for #JCON EUROPE 2024? See Mark Stoodley at #JCON2024 in Cologne talking about 'Could your Java workloads be missing out on something?'

In 2017, a new open source #Java Virtual Machine called #Eclipse #OpenJ9 appeared …

Get your free #JUG Ticket: http://www.jcon.one

JCON - Choose your JCON experience

JCON - Choose your JCON experience