The Basics
Java versions and features are what every java developer should be familiar with. It determines the progression of the language, as well as sets the standard for companies to follow in terms, of support. With this article series I hope to clarify what Java’s versions are and specifically focus on openJDK, modern java, from java version 8 and onward. Specifically the new features/functionalities that I find interesting and that been standardized for production. So, check back as I will be updating this post often.
I will try to update this article with every new version which is released. Be sure, to check Spaghetti code jungle’s github account for the code examples.
Latest Java version
The current version is, Java 17 released 14th September 2021. Java 18 set to be released for general availability on the 22nd March 2022.
Rule of thumb
It is always a good rule of thumb for hobby projects to run the latest java version. When talking about production systems, it is best to go for the versions that have LTS.
Quick Q & A:
How do you know which version is installed on your laptop/pc?
Easiest way in which I check is via the terminal.
java -version
What are the features for each version?
You can take a look at the timeline app I made on the Java version & features. Will release a feature example weekly until the latest version.
Java 8
Released on the 18th March 2014 for general availability. It is a major release with many features for developers. Long Term Support (LTS) until December 2030. Many companies still run this version, as it many features, as well as long term support. The largest change out of Java version 8 were streams and lambdas.
Java 8 features:
Java 9
General Availability on 21st September 2017. Java 9 offers a lot of enhancements on Java 8 features.
Java 9 features:
Java 10
Java 10 reached general availability on the 20th March 2018. A smaller release with not that many exciting features.
Java 10 features:
Java 11
Java 11 reached general availability on the 28th September 2018. The first Long Term Support (LTS) version after Java 8.
Java 11 features:
Java 12
Java 12 reached general availability on the 19th March 2019. It is not an LTS version but comes with a few new features for developers.
Java 12 features:
Java 13
Released for general availability 17th September 2019. Due to the 6 month release, it gives smaller digestible features to adopt, but this can also lead to a lack of developer-specific features. As, is the case with Java 13.
Java 13 features:
Java 14
17th March 2020 was the general availability release of Java 14. Non-LTS version. Sticking to the 6 month release cycle.
Java 14 features:
Java 15
Java 15 was released for general availability on the 15th September 2020. Non-LTS version. A few features of interest for developers.
Java 15 features:
Java 16
General availability on 16th March 2021. Non-LTS version.
Java 16 features:
Java 17
Released on the 14th September 2021 for general availability. LTS version.
Java 17 features:
Java 18
Java 18 released for general availability on the 22nd March 2022 . Non-LTS version. A few features for Devs.
Java 18 features
Java 19
Released on the 20th September 2022. Non-LTS version.
Java 19 features