Java The Next Systems Language?

I was today years old when I found out about ZGC (Zero Garbage Collection) Java; that is Java has a low latency garbage collector which is performant enough for high performance use cases.

A garbage collector is a memory management system that automatically identifies and reclaims memory that a program is no longer using, effectively preventing memory leaks and helping ensure efficient memory use without requiring manual deallocation by the programmer.

This means we can start to see high performance systems written in Java, in fact we can already see this in the Time Series database space, QuestDB a database written in Java (ZGC) outperforms InfluxDB written in Rust.

I’m sure there are more nuances to this comparison than I’m aware of but previously this comparison would never have even been contemplated; this means we can start to see Java creep into some of the systems use cases that would previously have been left for the likes of Rust, Zig and even Go. I think this puts Go in a tricky place although it still maintains several advantages but this is one less.

This allows all the benefits and legacy of Java without the performance hit expected of a typical garbage collector, in combination with the recent changes in Java like the Local Variable Type Inference and ahead-of-time compilation; I would think Java has an interesting next few years ahead.