Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

Which JDK should I use now?

1 min read

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

  • Stick to Java 8 if you are really paranoid but otherwise move to Java13/14. Even if you stick to Java8 code level, try to use the Java 13/14 JVM. Speed for lambda is much improved in recent releases.
  • We are starting a new project and want to get all the benefits of modern Java but need some stability.
  • Use Java 13/14 and standardise on Java 14 when it is released. You get all the benefits of Lambda, streams, jigsaw, faster JVM and years of support.

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

  • Use Java 13 and aim to stabilise code use on Java 14. You get the latest version of Java with a good long-term support timetable.

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, Java10, Java12, Java13 and OpenJDK.



Do you need to solve any of these problems in Java?

Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

3 Replies to “Which JDK should I use now?”

  1. Hello Mark.
    And thank you for your appreciated “Which JDK should I use now ?’.

    I’m retired and I have to reinstall Java, JDK and Netbeans on my PC to continue to develop a desktop application (with a third party library for making graphs). Before my recent reinitializing of Windows 10, which made me loose a lot of applications, I was using Netbeans IDE 8.0, jdk 1.7.0_25 and Java 2.

    Now I had like to install a not-too-old Long-Term Release of the three, and preferably in one integrated download and installation. So not Java 9, 10, 12 (are old Short Term Releases) and later release of Java than 8.0 . Can you tell me which releases of JDK and Java are accompanying tne “Apache NetBeans 12 feature update 3 (NB 12.3) – Latest version of the IDE, released on March 3, 2021”, please ?
    Many thanks by advance

    1. Latest release of NetBeans should work on Java15 and 16. So it is really up to you. If you want to try all the latest features, go with those. I am personally using Java 11 as I still need to write Java Compliance code. You can switch NetBeans easily between different Java releases so you can experiment.

      Best place to ask NetBeans questions is on the mailing lists at https://netbeans.apache.org/community/mailing-lists.html

  2. Dear,
    My answer to my question :
    The Apache NetBeans IDE 12.3 Installer, by default, will install theNetBeans IDE with the following packs and runtimes :
    – JDK 11.0.10
    – Base IDE
    – Java SE
    – Java EE
    – HTML5 / JavaScript
    – PHP
    (724,0 MB), unless you customize …

Leave a Reply

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

IDRsolutions Ltd 2021. All rights reserved.