Hello, i am new to programming and trying to learn java. Since i am on linux open jdk was recommended instead of the oracle jdk!
I know open jdk is free and open source but apart from that how do they differ in every day use ? Are there things that might be done differently ?
Whenever I install a new linux OS, one of the first things I end up doing is installing the Oracle JDK and changing /usr/bin/java to point to it. In the past, I've found that programs "just work better" when using the Oracle JDK.
However, since OpenJDK became the official Java reference implementation, I'm interested to hear if people have made the switch to using it in a production environment. What are your experiences?
Videos
Aside from licensing what are the real differences?
I'm currently studying for the Oracle Certified Associate exam and wanted to download Java 8. I can't see anything changing within the language itself but is there anything I should know before I probably choose OpenJDK?
any reason to get the Oracle version?
EDIT: realised I can download the jdk directly through Intellij and the options are much more varied than I thought..
Amazon Correto
Azul Zulu
BellSoft Liberica
Eclipse Temurin
IBM Semeru
Oracle OpenJDK
SAP sapmachine
What are the differences here? My use case as stated above is to learn for the 1Z0-808 exam.
I'm learning java, I'm under Ubuntu, and i larned it with the oracle's one. I would like to make some software, some applications and stuff, so I was about to change to OpenJDK for license thing and all, but i have read that the Oracle's one performes way better...
Is this true?
That was the case prior to JDK8. Perhaps even with initial releases of 8 but latest 8 and beyond they have no performance hits one way or another.
Go with OpenJDK anywhere. You could use Oracle's with no issues for development but why bother. Go with community where available.
Oracle JDK is just oracle's commercial (paid) distribution of OpenJDK and is built from the same source.
I have two questions:
-
Which one should I install?
-
What are the pros and cons of each option?
I'm using POP_OS 22.04/Ubuntu 22.04
My goal is to become a Java dev. I plan to build projects and include them in my portfolio.
What additional features does Oracle Jdk offer compared to openJdk. I tried to find out with Google but resources are years old.
My Question is about the "where should I download java" section of the reddit sidebar.
Previously I thought the Oracle OpenJDK (from jdk.java.net) or the Adoptium JDK were the best completely free options for updating/upgrading to Java 17. I also thought that Adoptium would be superior in my case as it has a (potential, community based) longer support duration than six months.
But now that the previously not free for all (proprietary and payed) "Oracle JDK" has a different license in Java 17, in comparison to the license that e.g. the Oracle JDK 11 had, I am wondering if should use the Oracle JDK instead, like in pre java 9 times. Or should I still use the Adoptium or the Oracle OpenJDK?
As I understand it, I would get 3 or 4 years of updates for this Java version (17) with the $free version of Oracle JDK, instead of 6 months with the Oracle OpenJDK, or 5 or 8 years with the payed version. (I also know I won't get the extras coming with a payed subscription but my question is just about the support/patch duration anyway.)
Additionally, looking at the Oracle Java SE Roadmap at https://www.oracle.com/java/technologies/java-se-support-roadmap.html, I don't understand if the Java 17 support (updates,patches,(security)fixes) is for 3 years, 4 years, until september 2026 or september 2029? (september 2026 would be the "premier support" for 5 years and september 2029 the "extended support" for 8 years. I am not quite aware of the difference between premier and extended support in the case of a LTS version, and I can't grasp it from the text on the website.)
Summary: Is it better to choose Oracle OpenJDK, Adoptium JDK or the $free version of Oracle JDK, to get the longest duration of security updates?
(I hope r/learnjava is the right subreddit for this. The "where should I download java" section is present in the sidebars of the java, learnjava and javahelp subreddits. So I just tried it here. Furthermore I hope this post isn't too long and multiple question in one post are allowed here.)
From what I see oracle jdk isn't present in all major linux distros. There's only openjdk version. So if you want to use oracle, the only option is to download jdk from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html and configure it manually. (or use non official repository)
Openjdk and oracle version are almost identical except some parts (some closed source third party components like a graphics rasterizer, some open source third party components) but will there be problems with say eclipse or idea if you use openjdk?
Which jvm servers use in production and how they intall and update jvm/jdk if it's oracle version? (With openjdk it's easy with package manager) Which jvm/jdk do you use in dev and prod in linux?
It seems to me like java environment is a second class citizen in linux.
oracle's crappy licencing conditions prevent it from being included in most linux distros' repositories. still, i've been using idea and eclipse with openjdk and haven't run into any problems.
where I'm at we use OpenJDK for both dev and production. I have not ran into a compatibility issue between the two in a long time.
Now if you are doing JavaFX stuff you will find that no body packages OpenJFX even though it can be complied and installed on OpenJDK.
I'm trying to learn Android development and I know Google switched to OpenJDK in Android N due to the lawsuit with Oracle. If I learn Java is it the same as learning OpenJDK and are there differences?
Java is a language created by Sun, who got bought out by Oracle.
Java runs on a JVM (java virtual machine) which is what lets it be cross platform. Basically you compile your Java code to Java bytecode which the JVM acts as an interpreter for. If you don't know this, it's worth looking into!
You compile your code with a Java development kit (they have more tools than just that though), an example is the OpenJDK (Open Java development kit). Another is Oracle's proprietary one. There are other propriety JDKs but they all adhere to the same standard and many of them are built on top of OpenJDK.
OpenJDK is open source and anyone can use it without express permission. Oracle's propriety one has a different license, uses different libraries and has a few little tweaks so Oracle can sell it. Google and Oracle have had their kerfuffles and Google has chosen to go with the open source version. I'll just insert my opinion and say this is a good thing, it makes Google and Android that bit less beholden to Oracle who I have an (arguably) irrational dislike for.
FWIW OpenJDK is the "reference" implementation as of Java 7 (so OpenJDK is what the standard says "this is what does it right"). It's also maintained by Oracle!
As an end user there's very little that you need to be concerned with.
Don't worry, it's the same language. Google switched to a different implementation of Java behind the scenes. Most developers won't even notice the difference.
On the Linux distributions I use, OpenJDK is the default JVM available. So far in development I haven't run into any issues yet, but I'm curious as to when I should consider using the Oracle JDK instead. What are the pros and cons of either option?
Hi, I haven't even started learning Java yet, but I noticed it seems there are two implementations of Java to choose from, and there doesn't seem to be much difference between the two.
There's OpenJDK and (what I believe is called) Oracle JDK.
As I understand it Oracle JDK uses OpenJDK as a reference, and OpenJDK is open source.
To my mind, that means I should use OpenJDK... but I may well be missing something, so I thought I'd ask here - is there a reason not to go with the Open version?
I did try searching but didn't really find an answer to my question.
Any thoughts?
Thanks.
I will get back the use of Java on my gaming system, more specifically for Minecraft (and any other game that use Java)... As many of you guys have made up entire systems, do anyone has migrated from Oracle JDK to OpenJDK and have gained any performance on heavy programs?
Feel free to explain in the same way you explain to a kid. I'm not a programmer, just a guy who likes computers.
Oracle java Vs openjdk
Noob here, but would like to ask if vulnerabilities affecting oracle jdk 8 will always affect openjdk 8 implementations? Thanks!
On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.
If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:
-
Limiting your involvement with Reddit, or
-
Temporarily refraining from using Reddit
-
Cancelling your subscription of Reddit Premium
as a way to voice your protest.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
Please ensure that:
-
Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
-
You include any and all error messages in full
-
You ask clear questions
-
You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.
Trying to solve problems on your own is a very important skill. Also, see Learn to help yourself in the sidebar
If any of the above points is not met, your post can and will be removed without further warning.
Code is to be formatted as code block (old reddit: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.
Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.
Code blocks look like this:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
To potential helpers
Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
Hello. I am currently using Amazon Corretto and was wondering if there would be some meaningful difference if I was using 'Microsoft build of OpenJDK' or IBM? How is the build of OpenJDK chosen in real life?
-
Which one do y’all prefer for general-purpose dev?
-
What's your favorite and why?
Which build do you suggest for commercial usage?
Edit : also which openJDK provider do you use ? Currently considering AdoptOpenJDK and Red Hat openJDK
Hi, i’ve always wondered something regarding commercial sdks. How can a developer of a commercial library or sdk, for example Oracle, know if a company use their product commercially? Are their contacting random companies to audit their backend or is that hypothetical commercial sdk (for example Oracle’s JDK) sending data to their developer?