[Перевод] Как снизить хвостовые задержки в Java с помощью ZGC

Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций. Читать разбор

https://habr.com/ru/companies/otus/articles/986604/

#Java #JVM #сборка_мусора #ZGC #хвостовые_задержки #latency #профилирование #JFR #производительность_Java

Как снизить хвостовые задержки в Java с помощью ZGC

TL;DR ZGC на настройках по умолчанию заметно улучшает хвостовые задержки по сравнению с G1: в тесте микросервиса выбросы на p999 у G1 совпадают с GC-паузами (вплоть до десятков миллисекунд), тогда как...

Хабр
Modern JVM Garbage Collection

PeerTube

binjr v3.25.0 is now available! 🎉

Aside from being based on the latest #Java25 runtime — making this a somewhat themed release — the main features this time around are:

  • Much improved support for the #ZGC garbage collector logs files for the #OpenJDK #JVM.
  • Improvements to handling of CSV files, with things like support for comments and better number parsing for uncommon notations.
  • Bug fixes and quality of life enhancements.

Full changelog and download links at https://binjr.eu

#java #javafx #dataviz #timeseries

A quick word of advise for anyone new to the #ZGC garbage collector for the #OpenJDK #JVM, trying to make sense of its GC logs for the first time: all references to "pages" in there must be understood as a unit of memory allocation that is specific to ZGC, and completely unrelated to the underlying OS pages (I, for one, was really confused by all that talk about "small", "medium" and "large" pages, rather that normal and huge 😅 )

If you want to know more about how ZGC deals with memory allocation, check out this blog post by Joel Sikström:
https://joelsiks.com/posts/zgc-heap-memory-allocation/

How ZGC allocates memory for the Java heap

This post explores how ZGC, one of the garbage collectors in the OpenJDK, allocates memory for the Java heap, focusing on enhancements introduced in JDK-8350441 with the Mapped Cache. A garbage collector does much more than just collect garbage - and that’s what I want to unpack in this post. Whether you’re a Java nerd yearning for details, a GC enthusiast, or just curious about how ZGC uses memory behind the scenes, this deep dive is for you.

Let's Take a Look at... Lower Java Tail Latencies With ZGC https://www.morling.dev/blog/lower-java-tail-latencies-with-zgc/
#Java #zgc
Let's Take a Look at... Lower Java Tail Latencies With ZGC

In the "Let’s Take a Look at…​!" blog series I am exploring interesting projects, developments and technologies in the data and streaming space. This can be KIPs and FLIPs, open-source projects, services, relevant improvements to Java and the JVM, and more. The idea is to get some hands-on experience, learn about potential use cases and applications, and understand the trade-offs involved. If you think there’s a specific subject I should take a look at, let me know in the comments below. Java 25 was released earlier this week, and it is the first Java release with long-term support (LTS) which ships with Generational ZGC as the one (and only) flavor of the ZGC garbage collector. ZGC itself is a relatively new concurrent collector, originally added in Java 11.

What do HotSpot, Loom & Garbage have in common? More than you think. Ingo Düppe mapped the #Java galaxy — from 1995 to tomorrow.

Ever read #JVM history that’s actually fun? Time to catch up: https://javapro.io/2025/04/07/hitchhikers-guide-to-java-performance/

#JavaConcurrency #Performance #GraalVM #ProjectLoom #ZGC

Java Highload и сборка мусора

Разработка HL-решения со строгим SLA по RPS и latency затрагивает множество аспектов. В частности OLTP, мультиплексирование запросов, неблокирующий I/O и прочее. В данной статье хотел бы поговорить про сборку мусора. Мы не будем погружаться в цитирование спецификации. Напротив, взглянем на сборку глазами инженера, перед которым стоит задача оптимизировать процесс с минимальными издержками.

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

#java #highload #garbage_collector #shenandoah #zgc #g1gc #финтех #performance #concurrent_mark_sweep #jdk

Java Highload и сборка мусора

Работаю в финтехе на должности Java инженера. Разрабатываем highload-сервис. Прод версия нашего сервиса раскатана примерно на 150 юнитах, и она обслуживает запросы буквально со всех отделений банка....

Хабр

1995: #Java is slow.
2025: Java is almost too fast to comprehend.
Join @javacoding on a #Performance journey through 30 years of #JVM evolution.

How did Java get this fast? Find out here:
https://javapro.io/2025/04/07/hitchhikers-guide-to-java-performance/

#ModernJava #GraalVM #ProjectLoom #GarbageCollection #ZGC

Hitchhiker's Guide to Java Performance - JAVAPRO International

The Past, The Present and The Future Over the last 30 years, Java has evolved from an exotic…

JAVAPRO International

Früher: „Java ist zu langsam.“
Heute: „Wait, Java kann das?“

Ingo Düppe klärt auf – Performance ist mehr als nur Geschwindigkeit! Weißt du, was heute wirklich in deiner #JVM steckt?
Lese jetzt: https://javapro.io/de/hitchhikers-guide-to-java-performance/

#GraalVM #ProjectLoom #GarbageCollection #Performance #ZGC

Hitchhiker's Guide to Java Performance - JAVAPRO Germany

Vergangenheit, Gegenwart und Zukunft In den letzten 30 Jahren hat sich Java von einer exotischen „write once, run…

JAVAPRO Germany

#JVM, GC, Loom, #ZGC. Wer denkt, Java ist oldschool, kennt den Artikel von @javacoding nicht. Wie modern ist deine Sicht auf Java wirklich?

👉 Jetzt nachlesen - könnte überraschen: https://javapro.io/de/hitchhikers-guide-to-java-performance/

#GraalVM #ProjectLoom #GarbageCollection #Performance

Hitchhiker's Guide to Java Performance - JAVAPRO Germany

Vergangenheit, Gegenwart und Zukunft In den letzten 30 Jahren hat sich Java von einer exotischen „write once, run…

JAVAPRO Germany