Linked by Thom Holwerda on Thu 30th Aug 2018 21:27 UTC

Java 11 has recently been feature frozen and contains some really great features, one in particular we’d like to highlight. The release contains a brand new Garbage Collector, ZGC, which is being developed by Oracle that promises very low pause times on multi-terabyte heaps. In this article we'll cover the motivation for a new GC, a technical overview and some of the really exciting possibilities ZGC opens up.

Why would you look at that - I get to use the Java database category.

Thread beginning with comment 661712
To read all comments associated with this story, please click here.
Comment by jmorgannz
by jmorgannz on Fri 31st Aug 2018 05:07 UTC
Member since:

Also, I am aware it wasn't specifically stated that devs who don't manage memory manually are mediocre or poor.

So take the above as a statement rather than a reply.

Reply Score: 2

RE: Comment by jmorgannz
by avgalen on Fri 31st Aug 2018 08:12 in reply to "Comment by jmorgannz"
avgalen Member since:

Managing memory manually is mostly a good thing when you are working in an environment with limited hardware resources or when you are writing software that is directly accessing hardware (OS/Drivers).

However most consumer/server-software that is written now doesn't know/care which hardware or OS it is running on and only interfaces with the layers on top of that via libraries, virtual machines, runtimes, etc. It doesn't make much sense to spend a lot of written code/time on resource-management when you don't know which resources you are actually using (5% or 50%). The only exception seems to be when GC is piling up and suddenly executes and stalls your program (and others) in an unacceptable way. That seems to be exactly the situation that is addressed here, so well done Java!

Reply Parent Score: 4

RE[2]: Comment by jmorgannz
by anevilyak on Fri 31st Aug 2018 18:43 in reply to "RE: Comment by jmorgannz"
anevilyak Member since:

To be fair, the existing Java GC already handled it pretty decently. The new one appears to be specifically designed to also handle it in extremely large environments, hence the mention of "very low pause times on multi-terabyte heaps.". I don't know about you, but that's definitely not a situation I'm going to encounter in day-to-day use.

Reply Parent Score: 3

RE: Comment by jmorgannz
by ssokolow on Fri 31st Aug 2018 14:01 in reply to "Comment by jmorgannz"
ssokolow Member since:

Nonetheless, I should probably have mentioned that I count myself as one of those "managed developers incapable of un-managed work until Rust came around" that I spoke of.

Reply Parent Score: 3

RE: Comment by jmorgannz
by Dasher42 on Fri 31st Aug 2018 17:56 in reply to "Comment by jmorgannz"
Dasher42 Member since:

It really depends on the kind of work, really. All the business services that do a lot of grunt work without regard to latency are fine with the likes of Java.

However, I once heard a programmer from a particle accelerator lab give a talk about his work. You spend millions of dollars to smash atomic particles together and detect every little thing that happens without a nanosecond's hitch, garbage collection is something that has to be manually done, and done right.

I wish programming was always to that standard, lean and simple and secure. Unfortunately, mediocrity is pragmatic for a lot of people.

Reply Parent Score: 2