Live data from Hacker News

Java’s new garbage collector promises low pause times on multi-terabyte heaps

opsian.com

11–20 of 245 posts

Re: Java’s new garbage collector promises low pause times on multi-terabyte heaps

#11

Isn’t Java a pay-to-play runtime now? I thought Oracle changed the licensing model after Java 8?

What they did was change the update model for paid versions of the standard Oracle JDK -- you must have a commercial license with Oracle in order to receive security and bugfix updates for copies of the Oracle JDK.

OpenJDK, on the other hand, was unaffected by this change; things like security mitigations/fixes land in OpenJDK, and make their way to other versions (like older JDK versions, or Oracle enterprise copies) from there. So, you can go download Zulu or OpenJDK binaries from your distributor (such as your Linux distribution) and you'll be fine (assuming they update promptly).

There are also feature distinctions between the Oracle JDK and OpenJDK, but they have been getting smaller over time -- AppCDS and Flight Recorder, which were Oracle-customer-only features, for example, are now in OpenJDK proper (FR will come in JDK 11), and many features such as ZGC (and originally G1, too, I think) were developed in the open and went into OpenJDK directly, right from the start.

If you're just running a bog standard Linux/BSD system with some Java software on it, you're almost certainly OpenJDK already anyway, and your distribution maintainers handle security updates for you.

Re: Java’s new garbage collector promises low pause times on multi-terabyte heaps

#12
post #9

Isn’t Java a pay-to-play runtime now? I thought Oracle changed the licensing model after Java 8?

No it’s still free, they (Oracle) are just not supplying the free JVMs. There are plenty of alternatives for OpenJDK builds that are FOSS.

Oracle still supplies free JVMs. The change was that to get updates for older versions of the JVM, you need to pay.

Re: Java’s new garbage collector promises low pause times on multi-terabyte heaps

#14

Isn’t Java a pay-to-play runtime now? I thought Oracle changed the licensing model after Java 8?

Get your JVM from Oracle, Azul, Adopt Open JDK, Red Hat.

You can either:

1. Update it every six months, for free, if you want to keep current with security updates.

2. Pay for updates on versions older than six months.

3. Not pay, not upgrade, and live with unsupported versions.

Adopt Open JDK has indicated their intention to back port patches to older versions for several years past their expiration for free.

Re: Java’s new garbage collector promises low pause times on multi-terabyte heaps

#15

Isn’t Java a pay-to-play runtime now? I thought Oracle changed the licensing model after Java 8?

ZGC is going to be in OpenJDK, the fully open source, reference implementation, of Java: http://openjdk.java.net/projects/zgc/

All of the proprietary bits in Oracle's Java implementation are also being fully open sourced: https://www.infoq.com/news/2017/10/javaone-opening

Re: Java’s new garbage collector promises low pause times on multi-terabyte heaps

#16
post #8

I'm glad they didn't buy into the refcount meme that's so inexplicably popular these days.

Could you elaborate? Why would refcount be a bad idea ? (genuine question)

Load-increment-store is slow. Load-decrement-branch-if-zero is slow. And you still need a tracing collector for cycles. So it's slow and still nondeterministic.

Re: Java’s new garbage collector promises low pause times on multi-terabyte heaps

#20
post #8

Earlier quoted context omitted.

Could you elaborate? Why would refcount be a bad idea ? (genuine question)

Load-increment-store is slow. Load-decrement-branch-if-zero is slow. And you still need a tracing collector for cycles. So it's slow and still nondeterministic.

Okay, what's better, from a generalist standpoint? I have a decent but very high-level sketched-out understanding of refcounting, but I know nothing else about what's out there, and would be curious to find out.

Particularly what would work well on x86 and ARM.

An odd and probably completely wrongheaded idea just came to mind: add collectible objects to a lock-free queue in one thread, collect them in another. I wonder if you could do the mark-and-sweep stage across threads too...?

Post reply on HN