Which Version of the Java Development Kit Should You Install & Do You Need to Pay for It?

– Alright, so which Java
Development Kit version do you need to instal
and use as a developer, and also, do you have to pay to use it? Let’s talk about that in today’s video. (upbeat electronic music) Alright, so welcome back,
thanks for watching, and let’s go through this in order. So I’m gonna start back at JDK 8. Now, that was the first that
Oracle brought out in 2014, and that was their
long-term support version, so if you started back around 2014, you saw that JDK 8 was updated for years, and in fact, there’s
still updates available, but basically, that’s now changing. JDK 11 is the version now
that Oracle is telling us is the long-term support version. So in other words,
that’s gonna be supported until at least 2023, and
probably longer than that. But where it gets confusing is that this is long-term support
version, version 11, but they’re also releasing a version of the JDK every six months, and, in fact, I’m recording
this in March 2019, JDK 12 has just come out, and what’s confusing about
this release schedule is every six months they’re
releasing a new version, and the version prior
is basically expiring and no longer being supported with no updates coming through. So this makes it quite
confusing at first glance as a developer to try and figure out which version you should be using. Now, the next long-term
support version of Java is currently, they’re saying it’s Java 17, or JDK version 17, and by my calculations, that’s not gonna be released
till September 2021. So basically, every new version of Java that’s coming out between
now and September 2021 is going to be a version
that expires in six months. So consequently, it’s my
opinion that most companies won’t adopt these interim versions unless there’s a specific
need for a specific version, a specific piece of
functionality in that version. What they’ll do is they’ll stick to the long-term support version, which is currently version 11, then perhaps in 2021 in September, when version 17 of the JDK comes out, they’ll then update to that. Now the reason for that,
for sticking to JDK 11, is that if you move to JDK 12, because of the lack of support, because there’s no more updates, particularly security updates, that’s gonna be a risk for companies. So basically, if you start using JDK 12, you really are having to commit to update your software every six months, basically before the support expires, and before there’s now no
longer any future updates. So from a company’s perspective, if they’ve got a large team of people and a large investment in a
particular version of the JDK, they generally don’t want to update on such a sort of quick release date, because even though it’s six monthly, for a large application, that would be considered
quite a short period of time to try and keep things updated, because the whole thing is, with the JDK’s updating
on a regular basis, things are changing, and it could be quite hard for a company to adopt that stance, and in fact, that’s why
Oracle have committed to a long-term support version of the JDK. They recognise that it’s
a considerable investment for some companies to update
their software at all, and they why they’re committing
to JDK 11 for the long-term. So for that reason, I’m
gonna recommend that, generally speaking,
that you stick to JDK 11 until such time as the next
long-term support version, which in this case, currently, as of the time I’m recording this, is JDK 17 comes out. And that’s gonna stand you in good stead, because that’s gonna be the
version that a lot of companies will be adopting and using, and obviously, if you are
familiar with that version, that’ll go well if you’re looking for a Java, basically, to work with. Now the other thing to keep
in mind here with this anyway, is that it’s likely that
some of these changes that are introduced in
JDK 12, 13, and beyond, they’ll probably be
rolled back into JDK 11 at some point anyway, so in other words, it’ll be
updated at some point anyway, because if you look back to JDK 9 and 10, those features in JDK 9 and 10 were rolled into JDK 11 anyway. So the point of all this
is that it’s probably good, in my opinion, if you’re a developer, to actually stick to using
JDK 11 for the long term, unless you’ve got a specific
reason, specific feature that hasn’t been updated in JDK 11 yet. And now, the other thing
is I wanted to introduce, I talked about it at
the start of the video, as a developer, which
version should you use, because there’s two versions of the JDK, we’re not talking version numbers here, I’m talking the actual products. We’ve got Oracle’s
official version, the JDK, and there’s also an OpenJDK. Now, you can use either
of those as a developer, but there are ramifications
if you’re a company. Now, from a developer’s perspective, you can download the Oracle version of the Java Development
Kit totally free of charge, there’s no licencing constraints if you’re using that version to develop and test your applications, so basically, no problem using that. But if you go to deploy that application, the company, technically, the company who you’re deploying the application to, will have to pay to use the JDK. This is the Oracle version. However, if you go to the OpenJDK, that’s basically an open source product, so JDK 11, Oracle are now
releasing that as open source, and it’s virtually identical in features to the Oracle version. So in my opinion, there’s really no reason for you to have to use the Oracle version unless you’re writing
software for a company that doesn’t like to use
open source software, or as a support contract. If already got support
contract with Oracle, and they’re paying for Java anyway, there’s no reason for them
not to use the Oracle version, so basically what I’m
saying as a developer, stick to the JDK version 11, and you probably can
stick to either version, either the Oracle version, because it’s good practise
to use that, to instal that, because that’s what you’ll
likely see at a large company, but you can just as easily use
the OpenJDK version as well. Now, just another final
quick note, if the OpenJDK, sorry, not with the OpenJDK,
but the other version, the Oracle JDK version, companies will need to pay
for that, as I alluded to, and currently, Oracle’s pricing model is basically per server, per CPU, so what they’re trying to do is sort of, for enterprise customers, you’ve got, you know, a server with
lots of CPUs that charge, I think it’s around $25 a month per CPU from off the top of my head,
that’s the licencing agreement, but that licencing is all
done through Oracle anyway. So, to be totally free, I would suggest to stick to
the OpenJDK, it’s open source, and it’s practically identical
to the Oracle version anyway. Alright, so JDK 11 and OpenJDK
would be my recommendations, but of course, as a developer, you can also use the OpenJDK, sorry, the Oracle JDK, quite confusing to keep
up with these terms, because you’re a developer,
you’re free to use that to test and develop your applications. Alright, so hope that’s given
you some ideas and what to do, and I look forward to talking
to you in another video. Alright, so thanks for watching, if you’ve got questions, leave a comment. If you’re ready for the next
programming specific video, click on the link up here in the top left-hand
corner of your screen. To look at non-coding,
program-related questions, click on the link down in the bottom left-hand
corner of your screen. Feel free to subscribe by
clicking on the link up here, and I’ll see you in another video.

Leave a Reply

Your email address will not be published. Required fields are marked *