Ominous New Direction for Java?

Java SE 6 Update 14 (gotta love those names) is now available. According to the release notes, a new “Garbage First (G1) Garbage Collector” is enabled. To use it:

-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

Do so with caution, however. As @kimchy noted on Twitter, the release notes include this statement:

Although G1 is available for use in this release, note that production use of G1 is only permitted where a Java support contract has been purchased.

What do you think?


Well, well, well… Sun finds yet another way to alienate its user-base and shoot itself in the head. Quelle surpize…

Dan Lewis Says:

That can’t be real. How would they even enforce that? Maybe this is Sun’s version of “Use at your own risk”.

Alex Miller Says:

Bah, this is good stuff. G1 is the new GC in JDK 7 and will probably be the default. It replaces CMS (which blows) and is one of the best things in JDK 7 so far. I’m really happy that they’ve back-ported to JDK 6 so that people can get some real testing with it and provide early feedback before JDK 7 is even close. To me, that’s smart and as a potential user of G1 I appreciate having access to this early feature in an official JDK (and not needing to use a JDK 7 build).

They just want a legal out here if someone blows up their system when using an experimental feature.

Eric Burke Says:

So why not say that instead of pulling out the “you gotta pay us money” stuff?

afsina Says:

@Eric: Why not?

Dean Says:

The specter of Oracle visits upon us what is yet to come…

David Says:

Causes random OutOfMemoryException in my java2d intensive application.

I think the note was written by someone who didn’t have English as a first language, and they meant something other than ‘legaly only permitted’. Otherwise it wouldn’t be relegated to the release notes, it would need to be part of the EULA. I bet they mean ‘recommended’.

Florian Says:

Ten days later, the current text of the release notes does say this about the G1 collector:
“Usage in production settings without a Java SE for Business support contract is not recommended.”
So the original version was probably an error.