Java’s Highly Scalable Low-Latency Garbage Collector : ZGC

Ғылым және технология

ZGC is the JDK’s newest garbage collector. Capable of supporting 16 TB heaps while maintaining sub-millisecond pause times, ZGC is a fascinating piece of technology. In this episode of Stack Walker, we will do a deep dive into ZGC’s history and architecture to get a better understanding of how ZGC can achieve its incredible performance.
⎯⎯⎯⎯ Resources ⎯⎯⎯⎯
• ZGC on Dev.Java ➱ dev.java/learn/jvm/tool/garba...
• Generational ZGC JEP Draft ➱ openjdk.org/jeps/8280389
• Generational ZGC ➱ jdk.java.net/genzgc/
• “Towards Generational ZGC!” podcast ➱ inside.java/2022/06/29/podcas...
• ZGC Mailing list ➱ mail.openjdk.org/pipermail/zg...
• Dev.Java ➱ dev.java/
• Inside.Java ➱ inside.java
⎯⎯⎯⎯ Chapters ⎯⎯⎯⎯
00:00 Intro
01:10 What is ZGC
01:41 History of ZGC
02:28 GC Design
04:54 What does “Z” stand for?
05:49 History of ZGC (cont.)
06:10 ZGC Architectural Features
06:46 Concurrency
08:54 Colored Pointers
10:24 Load Barriers
11:55 Regionalised Memory Management
14:38 History of ZGC (cont.)
15:05 Concurrent Thread Stack-Processing
16:49 Future of ZGC
17:57 Conclusion
Presented by Billy Korando (Java Developer Advocate - Oracle)
Tags: #Java #OpenJDK #GC #JVM #InsideJava

Пікірлер: 15

  • @ignacemorel641
    @ignacemorel641 Жыл бұрын

    Java, the language that never stops improving.

  • @krellin

    @krellin

    5 ай бұрын

    This is the JVM not java though

  • @sblantipodi
    @sblantipodi10 ай бұрын

    this GC is amazing, I tried it on my low latency app and it's amazing, leave alone the fact the defaults seems a lot better since this GC tends to release more resources to the OS more often.

  • @VisruthCV
    @VisruthCV Жыл бұрын

    👌💚💚💚💚💚 Very informative presentation. Thanks 👍!

  • @billykorando6820

    @billykorando6820

    Жыл бұрын

    Thank you!

  • @con_sci
    @con_sci4 ай бұрын

    does this have anything to do with project Leyden?

  • @dumdumdumdum8804
    @dumdumdumdum8804 Жыл бұрын

    When will generational zgc reach GA.

  • @billykorando6820

    @billykorando6820

    Жыл бұрын

    When it's ready 🙂 Ultimately I could only provide speculation, that could soon prove incorrect. The most current information would be found on the ZGC dev mailing list: mail.openjdk.org/pipermail/zgc-dev

  • @dumdumdumdum8804

    @dumdumdumdum8804

    Жыл бұрын

    @@billykorando6820 Your Speculation will help, I am totally clueless about it and there isn't much about it in the mailing list of its readiness for GA.

  • @billykorando6820

    @billykorando6820

    Жыл бұрын

    @@dumdumdumdum8804 JEP for generational ZGC has just been moved to draft status openjdk.org/jeps/439 So that’s a good indication it will be in JDK 21, no promises though 🙂

  • @dumdumdumdum8804

    @dumdumdumdum8804

    Жыл бұрын

    @@billykorando6820 Thats pretty cool it is already in candidate status. I wonder what will happen to our microservices will it also reduce memory footprint to 1/4 as in the case of Cassandra. We use grpc and kafka most of our services consume 300 MB to 500 MB of memory, with generational zgc i expect it to be 75 to 125MB which will allow us to deploy more services or increase the number of pods for the same service. generational ZGC + lilliput + Leyden -> Huge cost saving.

  • @dumdumdumdum8804

    @dumdumdumdum8804

    Жыл бұрын

    @@billykorando6820 For Valhalla I think we have to do code changes to take advantage of dense memory layouts, may be if valhalla is retrofitted into autoboxing then probably we will enjoy good performance out of the box by just switching to latest version of jdk.

  • @prdoyle
    @prdoyle Жыл бұрын

    I think you don't want a tesseract. You want a k-simplex. 🤓

  • @berndeckenfels
    @berndeckenfels Жыл бұрын

    Still in Shenadoah denial? ,)

  • @krellin

    @krellin

    5 ай бұрын

    totally, though on paper zgc should be better than shenan 1. it uses totally free bits of available memory in references, while shenon uses entire extra word per object (though i might be wrong seems from 2.0 it doesnt anymore) 2. it uses only load barriers vs shenon using both load and store gc barriers... Either way we only need to care about 2 GCs to choose from now on... and they are both free.

Келесі