Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage GarbageCollection Content on InfoQ

  • JEP 474: Generational Mode Now Standard for ZGC in Java

    JEP 474, ZGC: Generational Mode by Default, has also been targeted for JDK 23. This JEP proposes to use the Z Garbage Collector (ZGC) from non-generational to generational mode by default. The non-generational mode will be deprecated and removed in a future JDK release. This will reduce the cost of maintaining the two modes, so future development can primarily focus on Generational ZGC.

  • JEP 423: Introducing Region Pinning to G1 Garbage Collector in OpenJDK

    After its review concluded, JEP 423, Region Pinning for G1, has been Integrated into JDK 22. This JEP proposes to reduce GC latency by implementing region pinning for the G1 garbage collector. This will extend G1 so that arbitrary regions may be pinned during both major and minor collection operations, so that disabling the garbage collection process may be avoided while implementing JNI.

  • Boosting Quarkus Native Performance: Should You Stick with Space/Time or Switch to Adaptive GC?

    Quarkus, the Kubernetes Native Java Framework, has switched its default garbage collection policy from space/time to adaptive GC for native runtime in version 2.13.6.Final. Adaptive GC is designed to trigger GCs aggressively in order to keep memory consumption low. This makes it effective in situations where a low memory footprint is essential, and it appears to perform better under heavy stress.

  • .NET 7 Adds Aggressive Garbage Collection for Kubernetes

    In a Kubernetes cluster, idle services may consume too much memory, resulting in an out-of-memory situation for the whole server even nothing significant is occurring. The new GCCollectionMode.Aggressive option allows the application to tell the runtime to release memory it doesn’t need when going idle.

  • Uber's Engineering Manages to Cut 70k CPUs by Tuning Go GC

    In an effort to help the company become profitable, Uber’s engineering department has focused their efforts on making their infrastructure more efficient. As an outcome of this effort, they managed to develop a semi-automated GO Garbage Collection tuning mechanism which in turn saved 70K CPU cores across 30 mission critical services.

  • Troubleshooting Java Applications with Eclipse Jifa

    Eclipse Jifa is an open-source project for troubleshooting Java applications. Comparable solutions often run on the client, where Jifa provides a scalable, web-based solution to prevent local memory and resource challenges. Currently, Heap Dump Analysis and GC Log Analysis are supported with features such as target heap overview, leak suspects, thread information and GC root analysis.

  • Apple Open Sources GCGC: a Tool to Analyze Java GC Logs

    Apple has open-sourced GCGC, a tool for Java Garbage Collector (GC) logs visualization based on Python 3 and pandas. GCGC uses a Jupyter notebook to analyze and visualize GC log files.

  • Microsoft Open-Sources GCToolkit to Tap into JVM GC Logs

    By open sourcing GCToolkit, Microsoft promises to tap into the rich information stored within the JVM’s GC logs. The tool promises to provide mechanisms to parse, analyse and visualise the GC log files in a human friendly manner.

  • Java News Roundup: Generational ZGC, Kotlin 1.5.30, Jakarta EE 10 Release Plan, SpringOne Conference

    It was relatively quiet in this week's Java roundup for August 23rd, 2021. Featured news includes JEP 413 having been promoted to Proposed to Target status, the Jakarta EE 10 release plan, work on generational ZGC, Kotlin 1.5.30, MicroProfile Rest Client 3.0-RC1, Hibernate ORM 5.3.22.Final, and the SpringOne conference.

  • Java News Roundup - Week of March 15th, 2021

    A roundup of smaller stories in the Java ecosystem from the week of March 15th, 2021, featuring the release of Java 16, JEPs advancing from Draft to Candidate status, and news from Hibernate, Red Hat and Spring.

  • Shenandoah in JDK 11 - Interview with Red Hat's Team

    Shenandoah is a low-latency garbage collector that enables Java applications to operate quickly without changes. InfoQ sat down with Roman Kennke and Aleksey Shipilev from Red Hat's Shenandoah team to ask some questions about how this garbage collector was created and what diligence went into adding it to the upstream JDK 11 codebase.

  • Heapothesys - an Open-Source GC Latency Benchmark by Amazon Corretto

    The Amazon Corretto team has introduced Heapothesys, a collection of JVM garbage collection (GC) workloads designed for the application developer to compare alternative GC algorithms and configuration choices, and to detect GC performance and latency regressions. Using the resulting JVM pauses, developers may produce their own reference points to study GC boundaries within their applications.

  • Microsoft Explores Manual Memory Management in .NET with Snowflake

    A number of researchers from Microsoft Research, University of Cambridge, and Princeton University have forked .NET, adding an API to the runtime to support manual memory management, and published details of their approach and performance improvements obtained in the paper Project Snowflake: Non-blocking Safe Manual Memory Management in .NET.

  • The Last Frontier in Java Performance: Remove the Garbage Collector

    A new JEP draft has been filed to create a no-op garbage collector: a GC that doesn't actually reclaim memory. This is aimed at aiding JVM implementers and researches and, to a lesser extent, ultra-performant applications that generate little to no garbage. If the JEP goes ahead, the new GC would be available together with the existing ones, and would have no effect unless explicitly activated.

  • Systems Programming in C#

    Although the definition of system programming is fuzzy, it can be described as having to think at the bit, byte, instruction or CPU cycle level. Systems programming also implies demanding performance and reliability requirements. Joe Duffy, engineering director at Microsoft, presented strategies for system programming in C# at QCon New York. He also discusses pitfalls and how to mitigate them.