What JDK are you on and what does the newer JDK's provide related to games in jME?

No, I beleive adoptopenjdk uses openjdk though

“OpenJDK” is the semi-official JDK - it’s open source. Oracle JDK is now just an openjdk distribution packaged with a couple proprietary Oracle parts - mainly for enterprise stuff. AdoptOpenJDK is just a site that provides the OpenJDK distribution by itself. If you’re on linux your package manager will probably call it something like openjdk-11. To make it a little more confusing you can choose to install a different JVM like Hotspot or OpenJ9 (both are open source). Some people have had success with OpenJ9 and improving performance and memory usage for Minecraft, so soon I will be testing that out.

Edit: Also, Oracle doesn’t backport their security fixes anymore. You have to use the newest version of java for security fixes. So if you want to use Java 8 or Java 11 (lts versions) you HAVEto use the openjdk not Oracle’s openjdk.

1 Like

thanks both - just tried out adoptopenjdk14, nothing broke so far - performance seems a tiny bit etter. will keep it and see.

Adopt uses LTS for jdk 8 and 11.

https://adoptopenjdk.net/support.html#roadmap

As far as I remember, OpenJDK is the reference implementation of Java since the version 7, it has been free software under GPL version 2 with classpath exception since 2006 and its license is a lot less constraining than BCL For Java SE. For example, I know that some developers packaged theirs projects with modified versions of Oracle JRE (there is no longer a JRE in Java now), it was a violation of the license in some cases depending on which files were removed.

I use the OpenJDK JDK provided by my GNU Linux distribution when I can and AdoptOpenJDK (8, 11 and 14) when I need to use a more recent version or for packaging (I use my own alternative to JPackage) but jClarity was bought by Microsoft last year, I’ll have to look for another solution if Microsoft goes further.

I use those versions of Java because I find them flexible (I can package my first person shooter with no worries when I drop some files from the JRE or the JDK) and reliable. I appreciate relying on free software and I read a large part of Java source code, it’s not just a toy, it helps. AdoptOpenJDK provides frequent updates, it helps to get some security updates a lot earlier than with Oracle OpenJDK binary builds.

Personally, I don’t believe claims about some particular implementations of OpenJDK being faster, Zulu and Amazon Corretto but maybe I’m wrong. I just hope that there won’t be another variant of Microsoft Visual J++, i.e a version of Java incompatible with others.

Java 14 contains a feature in incubation that can be useful in games, you can cleanly dispose the native memory used by direct NIO buffers and create some native memory segments a lot larger than the maximum size of direct NIO buffers. Maybe Java 17 will contain all parts of the Panama Project, including jExtractor, it could be an interesting solution to ease the maintenance of some bindings (Bullet?). The two low-pause garbage collectors might be worth a try, especially when you create tons of short-lived objects which may happen in a physics engine.

What is really missing (in my humble opinion) is a replacement of Swing, OpenJFX/JavaFX is now a separate project, it’s still actively maintained but I don’t see where Java on the client side is going and I’m not really satisfied by existing APIs to render HTML/CSS in Java.

3 Likes

Maybe a little offtopic but I had some questions

I like seeing everyone’s opinions, but Microsoft is one of those companies that though I do love and hate, they, in my opinion, aren’t an obstacle in many scenarios. I’d like your opinion on why Microsoft getting involved with software is a bad thing.
But at least for me in fact I primarily use Zulu because it is MS backed, and I don’t see anything MS branded or backed by MS ever going away so I believe it is a reliable source for a JDK.
Again I’d like to hear your opinions on this.

Yeah, with the new Foreign-Memory Access API in Java 14 (which is claimed to be a valid alternative to java.nio.ByteBuffer) we can get rid of all the dirty reflection-based code used in JME for destroying direct buffers.

3 Likes

@Ali_RS Yes, that’s what I was thinking about.

@ItsMike54 The French writer Rabelais wrote “science without conscience is but the ruin of the soul”. Microsoft lost some markets (more than 70% servers use GNU Linux), its strategy had to change but it’s still the same company, it’s not a friend of free software movement, it still loves patents, nobody should forget the “permatemps” scandal and its “Embrace, extend, and extinguish” strategy on standards, it still disparages the activists who criticize it (I was personally in this case several years ago), it still closes Microsoft accounts because of mysterious violations of services contract, it’s a matter of trust and it doesn’t deserve mine. I could make bitter comments on Google (encouraging/forcing some GMail users to use Google Chrome as a fix for its error 4 or 9), Oracle (a representative praised the terribly insecure first employment contract called CPE at TV, which was later repealed after months of huge protestations) and the others. I’d prefer Java to be controlled by a foundation like LibreOffice. In my humble opinion, “backed by MS” and “backed by Oracle” aren’t strong guarantees; when they no longer need something, they can abandon it, which happened to JOGL more than ten years ago.

3 Likes

@gouessej, I like what your saying, and I myself don’t like many of the things that any of the big companies do (Microsoft, is almost all proprietary - Google, better but still is bad about that - Oracle, more or less ruined the JVM). So I agree with you in that case. My point is that there are very few good alternative in terms of features leading me to still use what the big comps provide. Vulkan has the power to kill DirectX, but most devs still stick with directx. Linux with its many distros can kill Windows, but most still use Windows. I do wish that would change, but it dosen’t seem to be happening very quickly at all sadly. :neutral_face: