Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does it matter which vendor's JDK you build with?

If I'm deploying to servers with WebSphere 6.1 (Java 1.5), should I use IBM's JDK on my build box? Or will Sun's JDK compile to the same binary?

If I should use IBM's, where can I get the Windows x64 version?

like image 270
Mike Schall Avatar asked Sep 22 '08 14:09

Mike Schall


People also ask

Which Java JDK version should I use?

Java SE 11 OR 17 remains the preferred production standard in 2022. While both 9 and 10 have been released, neither will be offering LTS. Since it's first release in 1996, Java has maintained a reputation for being one of the most secure, reliable, and platform independent languages for computer programming.

Which JDK distribution is best?

According to the JVM Ecosystem Report 2021, the most popular 3rd party JDKs used in production in 2021 were: Eclipse Temurin (formerly AdoptOpenJDK) Azul Zulu. Amazon Corretto.

Who is the vendor for OpenJDK?

OpenJDK reports Oracle as vendor - Red Hat Customer Portal.

Who is the vendor of Java?

The primary reference Java VM implementation is HotSpot, produced by Oracle Corporation and many other big and medium-sized companies (e.g. IBM, Redhat, Microsoft, Azul, SAP).


2 Answers

I would as much as possible try to keep development as close to production as possible. Ibm and Sun's JDK's certainly both satisfy the SDK certification, but they are by no means identical. Their instrumentation and memory management are at least slightly different. If nothing else, the bugs in the JDK will be different, which your code may only trip over in one scenario vs. another. It'll also probably only happen at 4 am, and when the moon is full especially when you have company over.

I can't tell you where to get IBM's jdk, but if you've got a license to websphere at your company, you should have a contact at IBM to get you a link to that JDK.

Good luck, and always try to minimize differences where possible.

like image 169
Nathan Feger Avatar answered Sep 23 '22 09:09

Nathan Feger


It should not make any difference. It will probably not be exactly the same binary but 100% compatible. I assume you're using external libraries anyways like log4j or maybe hibernate or whatever and those are not built using the IBM JDK.

There are differences in the JREs, however. For example, I remember that when I listed methods or fields of a class using reflection, the IBM JRE used to give them to me in a different order than the Sun one.

like image 43
entzik Avatar answered Sep 19 '22 09:09

entzik