Site iconJava PDF Blog

Which JDK should I use now?

Updated on 25th September 2019

The official release of Java13 was last week while we were also attending Oracle’s CodeOne conference. Having attended lots of talks and spoken to many other developers, I have updated our article below.

Choosing a JDK to base your code on used to be so much easier when there was a new Java release only every decade or so… Now we get a new version of Java every six months. So which version should you use?

The first thing to understand is that not all JDK releases are created equal. Some of them are Long Term Releases (which will be supported for years to come) and others will be replaced after six months by Oracle (although other companies may offer longer-term support). Long Term Releases are Java 8, Java 11 and Java 14, while Java 9, 10, 12, 13 are short term.  The official end of support dates is on the Oracle website.

Later releases contain lots of features, which make it much easier and quicker to write good quality code. So there is a classic trade-off between new features and backward compatibility.

So here are our personal suggestions…..

We need to write code that needs to use lots of legacy libraries and needs as few changes as possible

We are starting a new project and want to get all the benefits of modern Java but development will take some time before we need to standardise

Do not use old short-term releases (Java 9, 10, 12) unless you have very specific use cases.

We also now have a large collection of articles on what is new in other versions of Java, including Java9, and Java13.