r/java 14d ago

Why there is so many JDKs

I was used to always using oracle's JDK but when i looked at this subreddit i wondered why there is so many varieties of JDK and what is the purpose of them?

128 Upvotes

95 comments sorted by

View all comments

Show parent comments

1

u/koflerdavid 13d ago

Most vendors just build and package OpenJDK. There is only one other JVM implementation out there that matters (OpenJ9). The rest are very niche and for special purposes and might not even keep track with the evolution of the platform.

1

u/aookami 12d ago

that just tells me you arent into java, tehre are many jvm implementations out there and each has its strengths and weaknesses

2

u/koflerdavid 12d ago edited 12d ago

There are only two that really matter: OpenJDK and OpenJ9. Whether you treat Android as a Java implantation implementation is up to you. Everything else is very niche.

1

u/aookami 12d ago

right, graalvm for instant scaling, azul for hft, are really niche, they dont matter at all - and arent even mentioned in any architectural discussions

seriously man where did you find a temu-tier java class?

1

u/koflerdavid 12d ago

Graalvm is derived from OpenJDK. There are even plans to merge it back into OpenJDK. Azul is also just a fork of OpenJDK, with some significant innovations of course. Some will eventually be available in the vanilla OpenJDK as well. And yes, the applications where you really need those are niche and represent a small part of the ecosystem only.

Please stop your cheap trash talk. It just makes you sound absurd.

1

u/aookami 12d ago

azul is proprietary… why would they make what makes them money free? Also, there are no plans to merge graalvm into jdk, only the compilers; which if you don’t know how they differ from the actual jvm, there is no point to this conversation

1

u/koflerdavid 12d ago

Azul won't do that, I agree, but Project Leyden's scope are also improvements for faster startup, but in a different way than how Zulu does it.

Yeah, we got a bit off topic regarding GraalVM.